python学习笔记(SMTP邮件发送:带附件)
博主有段时间没有更新博客了
先整理一个之前整理过的SMTP邮件发送,这次是带附件的功能
#!/usr/bin/env python
# -*- coding: utf_8 -*- from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.utils import parseaddr, formataddr
import smtplib def _format_address(text):
name, address = parseaddr(text)
return formataddr((Header(name, "utf-8").encode(), address)) def unittest_smtp():
from_address = "xx@xx.com"
# 发件箱地址
password = "xxx"
# 授权密码 不是邮箱登录密码
to_address = "xx@xx.com"
# to_address = "xx@xx.com"
# 收件箱地址
smtp_server = "smtp.ym.163.com"
# 发件箱服务器地址
message = MIMEMultipart()
# msg = MIMEText("测试smtp邮件发送功能", "plain", "utf-8")
# 第一个参数:邮件正文
# 第二个参数:邮件类型 纯文本
# 第三个参数:编码 message["From"] = _format_address("自动化测试报告 <%s>" % from_address)
# 发件人姓名与地址
message["To"] = _format_address("xx <%s>" % to_address)
# 收件人姓名与地址
message["Subject"] = Header("xx自动化测试平台邮箱服务", "utf-8").encode()
# 邮件标题
message.attach(MIMEText("测试smtp邮件发送功能", "plain", "utf-8")) att1 = MIMEText(open("D:\\pythonproject\\Wito_erp\\wito_selenium\\20161024113212.html", "rb").read(), "base64", "utf-8")
# 文件地址
att1["Content-Type"] = "application/octet-stream"
att1["Content-Disposition"] = 'attachment; filename="20161024113212.html"'
# 定义附件名称 message.attach(att1)
# 添加附件
try:
server = smtplib.SMTP(smtp_server, 25)
# 构造smtp服务器连接
server.set_debuglevel(1)
# 打开debug输出模式
server.login(from_address, password)
# 登录smtp服务器
server.sendmail(from_address, to_address, message.as_string())
# 发送邮件 print "邮件发送成功"
server.quit()
except smtplib.SMTPException:
print "Error: 无法发送邮件"
python学习笔记(SMTP邮件发送:带附件)的更多相关文章
- java mail邮件发送(带附件) 支持SSL
java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.ut ...
- 利用Python+163邮箱授权码发送带附件的邮件
背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...
- Spring的javaMail邮件发送(带附件)
项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习. 首先需要在配置文件jdbc.properties添加: #------------ Mail ------------ mail.smt ...
- javax.mail用smtp服务器发送带附件的邮件
jar包: javax.mail-1.5.5.jar maven配置: <dependency> <groupId>com.sun.mail</groupId> & ...
- Python学习笔记——发邮件
参考:Python3实现163邮箱SMTP发送邮件 1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码 2.发送邮件的Python脚本 #!/usr/bin/python # -*- c ...
- python学习笔记--smtp模块的使用及常见错误处理
SMTPAuthenticationError: (535, 'Error: \xc7\xeb\xca\xb9\xd3\xc3\xca\xda\xc8\xa8\xc2\xeb\xb5\xc7\xc2\ ...
- python SMTP邮件发送(转载)
Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...
- 吴裕雄--天生自然python学习笔记:Python3 SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一 ...
- python学习(21) smtp发送邮件
原文链接: https://www.jianshu.com/p/369ec15bfe22 本文介绍python发送邮件模块smtplib以及相关MIME模块.smtplib用于生成邮件发送的代理,发送 ...
随机推荐
- Eclipse的中文字体设置
打开eclipse中文字体很小,简直难以辨认.在网上搜索发现这是由于Eclipse 用的字体是 Consolas,显示中文的时候默认太小了.解决方式有两种:一.把字体设置为Courier New 操 ...
- 【python】浅谈for...else...语句
for循环可以和 else 子句同时使用(for...else).当迭代完for循环完整个列表失败后,会执行else语句.但循环中被 break 终止的情况下不会执行.如下例子所示: for i in ...
- Python(迭代器 生成器 装饰器 递归 斐波那契数列)
1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...
- AS3 编码解码函数 特殊字符转义
有时候传输特殊字符的时候,需要将字符转义, trace(escape("!@#$%^&*()_+<>?'"));//输出:%21@%23%24%25%5E%26 ...
- HackerRank "Dorsey Thief"
A variation to 0-1 Knapsack. (No Python code got fully AC. Python is too slow for this problem) #inc ...
- Python 字典的创建赋值和动态扩展
>>> cleese={} >>> palin=dict() >>> type(cleese) <class 'dict'> > ...
- 目前已经知道的乐视所有产品各个型号的强刷方法!更新X50
http://ui.letv.com/thread-43668-1-1.html 很多网友买来电视/盒子仅仅要看,还要折腾这个电视,有时候不小心把系统折腾死了,肿么办?危难之中显身手,我的神帖来了,敬 ...
- NAND flash和NOR flash的区别详解
我们使用的智能手机除了有一个可用的空间(如苹果8G.16G等),还有一个RAM容量,很多人都不是很清楚,为什么需要二个这样的芯片做存储呢,这就是我们下面要讲到的.这二种存储设备我们都统称为“FLASH ...
- i标签和em标签的区别
很多人以为i标签和em标签都只是HTML用于斜体的标签,并不知道他们有什么区别. 其实对于熟悉SEO的人来说,他们的区别挺大的(普通用户略过). i标签的作用:仅仅是为了让字体显示斜体,对于SEO没什 ...
- MongoDB的基本使用
use library 使用use函数切换已有的数据库或创建新的数据库 show dbs 查看MongoDB中目前所有可用的数据库 show collections 查看当前数据库中的所有集合 在集合 ...