接口测试基础——第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'
receiver  = ['123@qq.com','456@qq.com']
receive  = ';'.join(receivers)
sender = 'warrior_meng08@163.com'
password = '授权码'

msg = MIMEMultipart('alternative')
msg['From'] = sender
msg['To'] = receive 
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'

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2017-09-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库新发现

分配磁盘组(EMC阵列)

# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 in...

17220
来自专栏大内老A

[原创]谈谈基于Kerberos的Windows Network Authentication - Part II

四、引入Ticket Granting  Service 通过上面的介绍,我们发现Kerberos实际上一个基于Ticket的认证方式。Client想要获取Se...

22790
来自专栏葡萄城控件技术团队

Asp.Net MVC4入门指南(7):给电影表和模型添加新字段

在本节中,您将使用Entity Framework Code First来实现模型类上的操作。从而使得这些操作和变更,可以应用到数据库中。 默认情况下,就像您在...

208100
来自专栏IT笔记

前后端分离之SpringBoot项目Token认证

写在开始 有人说,爱上一座城,是因为城中住着某个喜欢的人。其实不然,爱上一座城,也许是为城里的一道生动风景,为一段青梅往事,为一座熟悉老宅。或许,仅仅为的只是这...

49990
来自专栏听Allen瞎扯淡

Github的正确使用方法

在了解了Git的基本用法后(如果你还未了解 Git 的基本使用方法,建议你先话点时间阅读下《 Pro Git 》这本书),相信你已经开始跃跃欲试了,那么我就说下...

2.9K30
来自专栏晓晨的专栏

ASP.NET Core 2.0 使用支付宝PC网站支付

36820
来自专栏后端技术探索

20步打造最安全的Nginx Web服务器

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器。它运行在UNIX,GNU/Linux,BSD各种版本,Mac ...

35510
来自专栏FreeBuf

CVE-2018-4878 Flash 0day漏洞攻击样本解析

背景 2018年1月31日,韩国CERT发布公告称发现Flash 0day漏洞的野外利用,攻击者执行针对性的攻击;2月1日Adobe发布安全公告,确认Adobe...

28880
来自专栏自动化测试实战

看到就是赚到!Selenium完整框架——告别2017

39690
来自专栏Aloys的开发之路

使用PowerShell简化我的工作

在这几年的编程学习和工作中,我积累的许多轻量级的小工具,比如Everything,BeyondCompare,BatchRename、HperSnap等等,这些...

20990

扫码关注云+社区

领取腾讯云代金券