利用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脚本操作MongoDB的教程
Apr 16 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
如何运行.ipynb文件的图文讲解
Jun 27 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
Python 如何在字符串中插入变量
Aug 01 Python
pandas针对excel处理的实现
Jan 15 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防止注入攻击实例分析
2014/11/03 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
javascript验证身份证号
2015/03/03 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
建筑公司文秘岗位职责
2013/11/29 职场文书
科研课题实施方案
2014/03/18 职场文书
交通文明倡议书
2014/05/16 职场文书
小组口号大全
2014/06/09 职场文书
供用电专业求职信
2014/07/07 职场文书
教师节老师寄语
2015/05/28 职场文书
信息简报范文
2015/07/21 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP