接口测试基础——第3篇smtplib发送带图片的邮件

smtplib发送邮件最后一篇,发送带图片的邮件:

 

大家可以去廖雪峰的网站看一下,下面的代码就是我跟着博客写的,哈哈,大家即使不明白为什么,也要多写两遍,记在心里,如果有不明白的地方可以留言,船长会第一时间给大家解决;今天有朋友让我建一个QQ群,我想现在还不是建群的时候,因为大家基本上没有什么问题,如果以后问题多了,我会建一个群,来集中解决大家的问题,谢谢大家的支持!开撸吧~~~

 

# coding: utf-8

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

mail_host = 'smtp.163.com'
receivers = ['123@qq.com','456@qq.com']
receiver = ','.join(receivers)
sender = 'warrior_meng08@163.com'
password = '授权码'

msg = MIMEMultipart('alternative')
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = '主题'

msg.attach(MIMEText('<html><body><h1>Hello</h1>' +
    '<p><img src="cid:0"></p>' +
    '</body></html>', 'html', 'utf-8'))

file_path = r'C:\Users\weiming\Desktop\b.jpg'
with open(file_path, 'rb') as f:
    mm = MIMEBase('image', 'jpg', filename='b.jpg')
    mm.add_header('Content-Disposition', 'attachment', filename='b.jpg')
    mm.add_header('Content-ID', '<0>')
    mm.add_header('X-Attachment-Id', '0')
    mm.set_payload(f.read())
    encoders.encode_base64(mm)
    msg.attach(mm)

try:
    server = smtplib.SMTP()
    # 加上这句就可以打印出所有的log,更方便我们定位问题
    server.set_debuglevel(1)
    server.connect(mail_host, 25)
    server.login(sender, password)
    server.sendmail(sender, receiver,msg.as_string())
    server.close()
    print 'Success'
except smtplib.SMTPException:
    print 'Error'

 

posted @ 2017-10-17 19:10  孟船长  阅读(1082)  评论(0编辑  收藏  举报