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发送邮件 大全汇总的更多相关文章

  1. Python 资源大全中文版

    Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...

  2. [转载]Python 资源大全

    原文链接:Python 资源大全 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex  ...

  3. Python 库大全

    作者:Lingfeng Ai链接:http://www.zhihu.com/question/24590883/answer/92420471来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...

  4. [转]Python 资源大全中文版

    摘自:https://github.com/jobbole/awesome-python-cn 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesom ...

  5. python模块大全

    python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...

  6. 【python】Python 资源大全中文版

    申明:感谢原作者的整理与分享,本篇文章分享自:https://www.jianshu.com/p/9c6ae64a1bd7 GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常 ...

  7. Python 资源大全

    我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架.网络 ...

  8. 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库

    我是 环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环 ...

  9. Python资料大全

    说明:以下文章为转载,有英文原文和中文整理翻译,对原作者和译者的工作表示极大感谢!!! 英文原文:https://github.com/vinta/awesome-python 中文译文:https: ...

随机推荐

  1. Source Insight 4.0常用设置

    本文以Source Insight 4.00.0086版本为例讲解常用设置. 1.Source Insight简介 Source Insight是一个面向软件开发的代码编辑器和浏览器,它拥有内置的对C ...

  2. [20170629]带过滤的复制项UI操作导致订阅全部初始化问题

    [问题] 带过滤的复制项UI操作导致订阅全部初始化,但是想不全部初始化,只初始化对应的复制项   [解决] 1.如果修改过滤项,可以直接执行,然后生成快照: -- Adding the article ...

  3. Selenium Web 自动化 - Selenium(Java)环境搭建

    Selenium Web 自动化 - Selenium(Java)环境搭建 2016-07-29 1 下载JDK JDK下载地址:http://www.oracle.com/technetwork/j ...

  4. golang 命令行cobra妙用

    为什么使用命令行 大型项目中少不了数据升级,如果采用web服务,一来不够安全,二来数据量大的时候也会出超时的情况.这时使用命令行是比较合适的方式了. 命令行中的MVC web项目一般采用MVC模式,对 ...

  5. javascript and jquery 代码块

    1.5秒隐藏 (setTimeout ) setTimeout( function(){ $('.ad_midd').slideUp(); } , 5000 )

  6. 超酷!纯CSS3烧烤动画实现教程

    今天在老外的网站上看到一款很有创意的纯CSS3动画,是模拟烧烤活动的.款动画模拟了一个烧烤架,烧烤架上的食物也都是用纯CSS3绘制而成,没有用一张图片,效果相当逼真.另外一个有意思的是,这个CSS3烧 ...

  7. [UFLDL] *Train and Optimize

    Deep learning:三十七(Deep learning中的优化方法) Deep learning:四十一(Dropout简单理解) Deep learning:四十三(用Hessian Fre ...

  8. linux dd指令

    ghost和g4l 安装操作系统,速度太慢,整个过程太冗长乏味了. 安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件.因为涉及到大量的文件定位和读写,速度一定是快不起来的. ...

  9. php-fpm开机自动启动脚本其实源码包里边就有

    网上有各种版本的php-fpm开机自动启动脚本, 其实你编译后源目录已经生成自动脚本.不用做任何修改即用.cp {php-5.5.x-source-dir}/sapi/fpm/init.d.php-f ...

  10. Kubernetes部署SpringCloud(三) 使用 Ingress-nginx 暴露服务

    之前部署的zuul以及basic-info-api 都仅仅在于flannel 网络内可以访问. 现在来使用Ingress-nginx 对外暴露服务 以下用到的一些docker镜像,是存在我私有仓库的, ...