利用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基础教程之字典操作详解
Mar 25 Python
bpython 功能强大的Python shell
Feb 16 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
Python3解决棋盘覆盖问题的方法示例
Dec 07 Python
Python将多个excel表格合并为一个表格
Feb 22 Python
从运行效率与开发效率比较Python和C++
Dec 14 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
python微信公众号开发简单流程实现
Mar 09 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
通用的Django注册功能模块实现方法
Feb 05 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
php4的session功能评述(一)
2006/10/09 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
xss文件页面内容读取(解决)
2010/11/28 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
Python的Tornado框架异步编程入门实例
2015/04/24 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
python os用法总结
2018/06/08 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
房地产广告词大全
2014/03/19 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
2016父亲节感恩话语
2015/12/09 职场文书