利用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的Django框架可适配的各种数据库介绍
Jul 15 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
Python进程间通信之共享内存详解
Oct 30 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
Python适配器模式代码实现解析
Aug 02 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
详解python破解zip文件密码的方法
Jan 13 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 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
NOT NULL 和NULL
2007/01/15 PHP
php抓取https的内容的代码
2010/04/06 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
php fread函数使用方法总结
2019/05/28 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python3 深浅copy对比详解
2019/08/12 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
生产车间主任的个人自我鉴定
2013/10/25 职场文书
银行金融服务方案
2014/06/11 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
会议主持词通用版
2019/04/02 职场文书
导游词之清晏园
2019/11/22 职场文书
详解Vue的options
2021/05/15 Vue.js
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android