利用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搭建HTTP服务器和FTP服务器
Mar 09 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
python字符串过滤性能比较5种方法
Jun 22 Python
用python处理图片实现图像中的像素访问
May 04 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
Python调用服务接口的实例
Jan 03 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
Python多线程正确用法实例解析
May 30 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 Python
python 操作excel表格的方法
Dec 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
php运行时动态创建函数的方法
2015/03/16 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
layui分页效果实现代码
2017/05/19 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
Python中的ceil()方法使用教程
2015/05/14 Python
Python实现针对中文排序的方法
2017/05/09 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
请介绍一下Ant
2016/07/22 面试题
工业自动化毕业生自荐信范文
2014/01/04 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
作文评语集锦大全
2014/04/23 职场文书
给老师的感谢信
2015/01/20 职场文书
同学会邀请函模板
2015/01/30 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android