利用Python发送邮件或发带附件的邮件


Posted in Python onNovember 12, 2020

本文使用的是163邮件进行测试。

注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。

 1、使用Python发Text 邮件

import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText

# 设置服务器所需信息
fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址
password = 'email password' # 密码(部分邮箱为授权码)
toEmailAddrs = ['接收方地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发

# 设置email信息
# ---------------------------发送字符串的邮件-----------------------------
# 邮件内容设置
message = MIMEText('hello,test Python send Email.', 'plain', 'utf-8')
# 邮件主题
message['Subject'] = 'python test email'
# 发送方信息
message['From'] = fromEmailAddr
# 接受方信息
message['To'] = toEmailAddrs[0]
# ---------------------------------------------------------------------


# 登录并发送邮件
try:
 server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25
 server.login(fromEmailAddr, password)
 server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
 print('success')
 server.quit()
except smtplib.SMTPException as e:
 print("error:", e)

2、使用Python发送带附件的邮件

import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText
# 需要 MIMEMultipart 类
from email.mime.multipart import MIMEMultipart

# 设置服务器所需信息
fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址
password = 'email password' # 密码(部分邮箱为授权码)
toEmailAddrs = ['收件人地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发

# 设置email信息
# ---------------------------发送带附件邮件-----------------------------
# 邮件内容设置
message = MIMEMultipart()
# 邮件主题
message['Subject'] = 'python test email'
# 发送方信息
message['From'] = fromEmailAddr
# 接受方信息
message['To'] = toEmailAddrs[0]
# 邮件正文内容
message.attach(MIMEText('hello,test Python send Email', 'plain', 'utf-8'))

# 构造附件
att1 = MIMEText(open('text.txt', 'rb').read(), 'base64', 'utf-8')
att1['Content-type'] = 'application/octet-stream'
att1['Content-Disposition'] = 'attachment; filename="test.zip"'
message.attach(att1)
# ---------------------------------------------------------------------

# 登录并发送邮件
try:
 server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25
 server.login(fromEmailAddr, password)
 server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
 print('success')
 server.quit()
except smtplib.SMTPException as e:
 print("error:", e)

以上就是利用Python发送邮件或发带附件的邮件的详细内容,更多关于python 发送邮件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python flask实现分页效果
Jun 27 Python
Flask实现跨域请求的处理方法
Sep 27 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
python中树与树的表示知识点总结
Sep 14 Python
Python中的上下文管理器相关知识详解
Sep 19 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
实战Python爬虫爬取酷我音乐
Apr 11 Python
python turtle绘图
May 04 Python
Python first-order-model实现让照片动起来
Jun 25 Python
Python如何使用ConfigParser读取配置文件
Nov 12 #Python
Python使用windows设置定时执行脚本
Nov 12 #Python
Django restful framework生成API文档过程详解
Nov 12 #Python
Python通过Schema实现数据验证方式
Nov 12 #Python
Django用户认证系统如何实现自定义
Nov 12 #Python
Django自带用户认证系统使用方法解析
Nov 12 #Python
Django多数据库联用实现方法解析
Nov 12 #Python
You might like
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php获取图片信息的方法详解
2015/12/10 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
复制本贴标题和地址的js代码
2008/07/01 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
vue按需加载实例详解
2019/09/06 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
《陋室铭》教学反思
2014/02/26 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
单方投资意向书
2015/05/11 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android