利用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实现sublime3的less编译插件示例
Apr 27 Python
Linux下编译安装MySQL-Python教程
Feb 02 Python
简单介绍Python中的readline()方法的使用
May 24 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
python实现八大排序算法(1)
Sep 14 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
浅析python内置模块collections
Nov 15 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
Python itertools.product方法代码实例
Mar 27 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
如何利用python生成MD5并去重
Dec 07 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
php给图片加文字水印
2015/07/31 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
深入学习Python中的装饰器使用
2016/06/20 Python
Python中is与==判断的区别
2017/03/28 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
Python2与Python3的区别详解
2020/02/09 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
SQL Server笔试题
2012/01/10 面试题
人事任命书怎么写
2014/06/05 职场文书
电气自动化求职信
2014/06/24 职场文书
大学生个人学年总结
2015/02/15 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB