原理:
- smtplib模块负责连接服务器和发送邮件
- MIMEAudio:定义邮件的音频数据
- MIMEImage:定义邮件的图片数据
- MIMEText:定义邮件的文字数据
- MIMEMultipart:负责将文字图片音频组装在一起和添加附件
#coding: utf-8
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
HOST = "smtp.sina.com"
SUBJECT = u"Hello,World!"
TO = "113***@qq.com"
FROM = "188***@sina.com"
def addimg(src,imgid):
fp = open(src, 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', imgid)
return msgImage
msg = MIMEMultipart('related')
msgtext = MIMEText("<font color=red> Picture View :<br><img src=\"cid:weekly\" border=\"1\"><br>详细内容见附件。</font>","html","utf-8") #Set content
msg.attach(msgtext)
msg.attach(addimg("mg.jpg","weekly")) #Add picture
attach = MIMEText(open("sendMail.py", "rb").read(), "base64", "utf-8") #Add file
attach["Content-Type"] = "application/octet-stream"
#attach["Content-Disposition"] = "attachment; filename=\"sendMail.py\"".decode("utf-8").encode("gb18030")
msg.attach(attach)
msg['Subject'] = SUBJECT
msg['From']=FROM
msg['To']=TO
try:
server = smtplib.SMTP()
server.connect(HOST,"25")
server.starttls()
server.login("188***@sina.com","123***") #Add MailUsername and Password
server.sendmail(FROM, TO, msg.as_string())
server.quit()
print "邮件发送成功!"
except Exception, e:
print "失败:"+str(e)