email模块可以方便的用来构造邮件,今天我们通过一个简单的例子来实现文本邮件的构造的发送。
先将要发送的内容写在文件里面:
cat /tmp/email_test.txt
hello there!
i love python!
编写如下脚本:cat test.py
#!/usr/bin/python
#coding=utf-8
import smtplib
#构造邮件内容
from email.mime.text import MIMEText
textfile='/tmp/email_test.txt'
fp=open(textfile,'rb')
msg=MIMEText(fp.read())
fp.close()
from_addr='xxxxxxxx@qq.com'
password='xxxxxxxx'
smtp_server='smtp.qq.com'
to_addr='xxxxxxxx@qq.com'
#构造邮件头
msg['Subject']='the content of %s'% textfile
msg['From']=from_addr
msg['To']=to_addr
s=smtplib.SMTP_SSL(smtp_server,465)
s.set_debuglevel(1)
s.login(from_addr,password)
s.sendmail(from_addr,[to_addr],msg.as_string())
s.quit()
通过两个两个图可以对比一下有邮件头和没有邮件头的邮件的区别:
有邮件头的邮件:
没有邮件头的邮件:
好了,一封简单的文本邮件就这样发送成功了。