接口測試基礎——第2篇smtplib發送帶附件的郵件


我先給大家補充一個用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'

運行以后就可以收到帶有附件的電子郵件了。

如果不明白,就多謝兩遍

 

微信公眾號搜索“自動化測試實戰”或掃描下方二維碼添加關注~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM