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. MXNET:深度学习计算-自定义层

    虽然 Gluon 提供了大量常用的层,但有时候我们依然希望自定义层.本节将介绍如何使用 NDArray 来自定义一个 Gluon 的层,从而以后可以被重复调用. 不含模型参数的自定义层 我们先介绍如何 ...

  2. 【转】详解在visual studio中使用git版本系统(图文)

    http://blog.csdn.net/wojilu/article/details/6976230 很多人已经在使用git(或正在转移到git上),在github.com上,也看到不少国内同学的开 ...

  3. LVS DR模式搭建 keepalived lvs

    LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...

  4. 磨刀不误砍柴工——统一日志系统 Log4Net/ExceptionLess

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫必须注明原文地址:www.cnblogs.com/tdws . 一.   写在前面 本文Log4Net介绍了基础的方式,大数据量生产环境不能使用,中等 ...

  5. Excel文档间的数据替换 ---电脑版APP 自动操作魔法师

    http://www.won-soft.com/macro/solution/excel-data-replace.htm 介绍: 在我们的日常工作中, 可能经常需要使用同各种数据表格打交道.比如财务 ...

  6. orcal数据库基本操作

    1.连接 SQL*Plus system/manager 2.显示当前连接用户 SQL> show user 3.查看系统拥有哪些用户 SQL> select * from all_use ...

  7. Git 学习笔记--删除错误提交的commit

    如果不小心把错误的commit给commit了,可以对其进行撤销 1.使用git log查看commit日志,找到错误提交前一版本commit的哈希值; 2.使用git reset --hard co ...

  8. Ubuntu14.04下安装redis-3.2.0以及开机自启动

    去官网下载Redis-3.2.0.tar.gz,将redis-3.2.0.tar.gz放入/opt目录下 解压redis-3.2.0.tar.gz xiaoyao@xiaoyao-virtual-ma ...

  9. 【SpringCloud微服务实战学习系列】客户端负载均衡Spring Cloud Ribbon

    Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的RES模板 ...

  10. [原]openstack-kilo--issue(十七) heat创建网络Quota exceeded for resources OverQuotaClient: resources.dmz_protected_network_sub

    -----  1  ------- 在使用heat创建网络的时候,报错如下 INFO heat.engine.stack [-] Stack CREATE FAILED (mmsc_network_s ...