当某段重要的代码出现错误的时候,我们希望能够发送邮件到某个特定的账户。在python中,邮件的发送简单的令人发指。当然,如果想要用邮件发送多媒体的数据,使用上可能稍微复杂点,但是这里的两段代码都是最简单的发送文本的。
1.python自带的email模块进行发送
from email.MIMEText import MIMEText
import smtplib
email_conf = {
"server":'smtp.163.com',
"user":"send_email@163.com",
"password":"secret"
}
def sendEmail(email_config, recievers, subject, content):
strTo = ', '.join(recievers)
server = email_config.get('server')
user = email_config.get('user')
passwd = email_config.get('password')
emailMsg = MIMEText(content,_subtype='plain',_charset='utf-8')
emailMsg['Subject'] = subject
emailMsg['From'] = user
emailMsg['To'] = strTo
smtp = smtplib.SMTP()
smtp.connect(server)
smtp.login(user,passwd)
smtp.sendmail(user, recievers, emailMsg.as_string())
smtp.quit()
if __name__ == "__main__":
sendEmail(email_conf, "10000@qq.com", 'subject', 'email_content')
print 'ok'
因为web.py这个框架将邮件发送进行了进一步的包装,这里发送邮件就更简单了。总共5行代码。
import web
web.config.smtp_server = 'smtp.163.com'
web.config.smtp_username = 'sender_email@163.com' #发送者的邮箱
web.config.smtp_password = 'secret'
web.sendmail('sender_email@163.com', 'recever_email@any.com', 'subject', 'email content')