python发送邮件 大全汇总
https://blog.csdn.net/bmxwm/article/details/79007871
参考菜鸟教程
发送只有文字的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'xxxxxx@xxx.com'#发件人的邮件地址
password='xxxxxx'#发件人的客户端密码
host='smtp.xxx.com'#发件人用的邮件服务器
receivers = ['xxxxxx@xxx.com','xxxxxxx@xx.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEText('文本内容~', 'plain', 'utf-8')
message['From'] = Header("发件人哦~", 'utf-8')#内容中显示的发件人
message['To'] = Header("收件人哦~", 'utf-8')#内容中显示的收件人
message['Subject'] = Header('邮件内容的标题~', 'utf-8')#邮件的题目
try:
smtpObj = smtplib.SMTP_SSL()#这个点要注意
smtpObj.connect(host)
smtpObj.login(sender,password) #邮箱登录
smtpObj.sendmail(sender, receivers, message.as_string())
print ("邮件发送成功")
except smtplib.SMTPException as e:
print ("Error: 发送邮件产生错误")
print(e)
smtpObj.close()
发送网页邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'xxxxxx@xx.com'#发件人的邮件地址
password='xxxxx'#发件人的客户端密码
host='smtp.xxx.com'#发件人用的邮件服务器
receivers = ['xxxxxx@xxx.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
meg_text='''
<h1>这个是大标题</h1>
<a href=https://xwmdream.cn>这个是链接</a>
'''
# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEText(meg_text, 'html', 'utf-8')
message['From'] = Header("发件人哦~", 'utf-8')#内容中显示的发件人
message['To'] = Header("收件人哦~", 'utf-8')#内容中显示的收件人
message['Subject'] = Header('邮件内容的标题~', 'utf-8')#邮件的题目
try:
smtpObj = smtplib.SMTP_SSL()#这个点要注意
smtpObj.connect(host)
smtpObj.login(sender,password) #邮箱登录
smtpObj.sendmail(sender, receivers, message.as_string())
print ("邮件发送成功")
except smtplib.SMTPException as e:
print ("Error: 发送邮件产生错误")
print(e)
smtpObj.close()
发送带有附件的邮件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender = 'xxxxxx@xx.com'#发件人的邮件地址
password='xxxxx'#发件人的客户端密码
host='smtp.xxx.com'#发件人用的邮件服务器
receivers = ['xxxxxx@xxx.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
meg_text='''
<h1>这个是大标题</h1>
<a href=https://xwmdream.cn>这个是链接</a>
<p>这个邮件有附件</p>
'''
# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEMultipart()
#邮件正文内容
message.attach(MIMEText(meg_text, 'html', 'utf-8'))
message['From'] = Header("发件人哦~", 'utf-8')#内容中显示的发件人
message['To'] = Header("收件人哦~", 'utf-8')#内容中显示的收件人
message['Subject'] = Header('邮件内容的标题~', 'utf-8')#邮件的题目
# 构造附件1,传送当前目录下的 test.txt 文件
att1 = MIMEText(open('test/test.txt', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="first.txt"'
message.attach(att1)
# 构造附件2,传送当前目录下的 runoob.txt 文件
att2 = MIMEText(open('test/test.mp3', 'rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="two.mp3"'
message.attach(att2)
try:
smtpObj = smtplib.SMTP_SSL()#这个点要注意
smtpObj.connect(host)
smtpObj.login(sender,password) #邮箱登录
smtpObj.sendmail(sender, receivers, message.as_string())
print ("邮件发送成功")
except smtplib.SMTPException as e:
print ("Error: 发送邮件产生错误")
print(e)
smtpObj.close()
发送网页中带有图片的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
sender = 'xxxxx@xxxx.com'#发件人的邮件地址
password='xxxxxx'#发件人的客户端密码
host='smtp.xxx.com'#发件人用的邮件服务器
receivers = ['xxxxxxxx@xx.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
meg_text='''
<h1>这个是大标题</h1>
<a href=https://xwmdream.cn>这个是链接</a>
<p>这个邮件有附件</p>
<img src="cid:image1">
'''
# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEMultipart()
#邮件正文内容
message.attach(MIMEText(meg_text, 'html', 'utf-8'))
message['From'] = Header("发件人哦~", 'utf-8')#内容中显示的发件人
message['To'] = Header("收件人哦~", 'utf-8')#内容中显示的收件人
message['Subject'] = Header('邮件内容的标题~', 'utf-8')#邮件的题目
# 指定图片为当前目录
fp = open('test/test.jpg', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
# 定义图片 ID,在 HTML 文本中引用
msgImage.add_header('Content-ID', '<image1>')
message.attach(msgImage)
try:
smtpObj = smtplib.SMTP_SSL()#这个点要注意
smtpObj.connect(host)
smtpObj.login(sender,password) #邮箱登录
smtpObj.sendmail(sender, receivers, message.as_string())
print ("邮件发送成功")
except smtplib.SMTPException as e:
print ("Error: 发送邮件产生错误")
print(e)
smtpObj.close()
---------------------
作者:bmxwm
来源:CSDN
原文:https://blog.csdn.net/bmxwm/article/details/79007871
版权声明:本文为博主原创文章,转载请附上博文链接!
data = "
mail_host = ""
mail_user = "" # 用户名
mail_pass = "" # 授权密码 title = ''
sender = '' # 发送邮箱
receivers = [''] # 接收邮箱 message = MIMEText(data, 'plain', 'utf-8')
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title
try:
smtpobj = smtplib.SMTP_SSL(mail_host, 465)
smtpobj.login(mail_user, mail_pass)
smtpobj.sendmail(sender, receivers, message.as_string())
except smtplib.SMTPException as e:
print(e)
python发送邮件 大全汇总的更多相关文章
- Python 资源大全中文版
Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...
- [转载]Python 资源大全
原文链接:Python 资源大全 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...
- Python 库大全
作者:Lingfeng Ai链接:http://www.zhihu.com/question/24590883/answer/92420471来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...
- [转]Python 资源大全中文版
摘自:https://github.com/jobbole/awesome-python-cn 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesom ...
- python模块大全
python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...
- 【python】Python 资源大全中文版
申明:感谢原作者的整理与分享,本篇文章分享自:https://www.jianshu.com/p/9c6ae64a1bd7 GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常 ...
- Python 资源大全
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架.网络 ...
- 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库
我是 环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环 ...
- Python资料大全
说明:以下文章为转载,有英文原文和中文整理翻译,对原作者和译者的工作表示极大感谢!!! 英文原文:https://github.com/vinta/awesome-python 中文译文:https: ...
随机推荐
- CINATRA发布第一个版本
cinatra是什么? cinatra是C++开源社区–purecpp发起的一个开源项目,现在正式发布第一个版本cinatra0.9.0,cinatra是一个现代C++写的web framework, ...
- Java如何计数字串中的一组词组?
在Java编程中,如何计数字串中的一组词组? 以下示例演示如何使用regex.Matcher类的matcher.groupCount()方法来计算字符串中的一组词组. package com.yiib ...
- 嵌入式开发之hi3519---进程线程间的同步和互斥,条件变量、信号了、互斥锁等
sem_post 最安全 sem 有序,会卡顿 阻塞 mutex 无序,不能同步 http://blog.chinaunix.net/uid-20671208-id-4935154.html ht ...
- 设置gem源,解决下载慢的问题
问题解决的最好方法方法 使用google的DNS 8.8.8.8 / 8.8.4.4 另一种解决方式 修改rubygems的source源 $ gem source -r http://rubygem ...
- Asp.net常用的三十多个代码(非常实用)
1.//弹出对话框.点击转向指定页面 Response.Write("<script>window.alert('该会员没有提交申请,请重新提交!')</script> ...
- 基于Java的数据采集(一)
之前写过2篇关于PHP数据采集入库的文章: 基于PHP数据采集入库(一):http://www.cnblogs.com/lichenwei/p/3872307.html 基于PHP数据采集入库(二): ...
- Git 解决本地远端版本冲突
简单粗暴.... git push -u origin master -f
- 如何把光盘制作成ISO镜像文件
如何把一张光盘转换成为ISO的镜像文件呢,这需要借助软件的力量. 下面来简单的介绍下吧. 工具/原料 UltraISO软碟通软件. 光驱 方法/步骤 下载并安装UltraISO软碟通软件. 插入要做的 ...
- OpenGL 获取当前屏幕坐标的三维坐标(gluUnProject使用例子 VS+glut)
本例子参考于网络,并进行了一些修改,使用glut+vs2008来实现. 在鼠标点击处重新画一个旋转的红色立方体! 参考代码如下: C++ Code 123456789101112131415161 ...
- java基础---->序列化框架arvo的使用
这里面我们介绍一下序列化框架arvo的使用,在kafka中使用的就是这个. arvo的使用 一.需要通过插件生成Model类方式 一.生成我们的数据模型User.java 我们在resources里面 ...