我先給大家補充一個用QQ發送純文本電子郵件的代碼,用QQ的朋友可以參考一下:
# coding=utf-8
import smtplib
from email.mime.text import MIMEText
mail_host = “smtp.qq.com”
receivers = “123@qq.com”
sender = “456@qq.com”
passwd = ‘QQ郵箱的授權碼’
contents = “python發送郵件”
# 構造郵件正文
msg=MIMEText(contents,”plain”,”utf-8”)
# 構造郵件頭部
msg[“From”]=sender
msg[“To”]=receivers
msg[“Subject”] = “主題”
try:
server = smtplib.SMTP_SSL(mail_host, 465)
server.login(sender, passwd)
server.sendmail(sender, receivers, msg.as_string())
print “發送成功”
except smtplib.SMTPException:
print “無法發送”
今天我們要寫的代碼是發送帶附件的電子郵件:
# coding: utf-8
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender = '你的郵箱@163.com'
passwd = '授權碼'
receivers = ['123@qq.com','456@qq.com']
receiver = ','.join(receivers)
mail_host = 'smtp.163.com'
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = 'Python test'
# 郵件正文
msg.attach(MIMEText('sending email test', 'plain', 'utf-8'))
# 構造附件1
att1 = MIMEText(open('文件的路徑比如:C:\\Users\\lenovo\\Desktop\\a.txt', 'rb').read(), 'base64', 'utf-8')
att1['Content-Type'] = 'application/octet-stream'
att1['Content-Disposition'] = 'attachment; filename= "a.txt"' msg.attach(att1)
# 構造附件
att2 = MIMEText(open('文件的路徑比如:C:\\Users\\lenovo\\Desktop\\b.txt').read(), 'base64', 'utf-8')
att2['Content-Type'] = 'application/octet-stream'
att2['Content-Disposition'] = 'attachment; filename="b.txt"' msg.attach(att2)
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(sender, passwd)
smtpObj.sendmail(sender, receiver, msg.as_string())
print 'Success'
except smtplib.SMTPException:
print 'Error'
運行以后就可以收到帶有附件的電子郵件了。
如果不明白,就多謝兩遍
微信公眾號搜索“自動化測試實戰”或掃描下方二維碼添加關注~~~

