python 怎么发送邮件

1、准备html

一、pop3 :python

  POP3是Post Office Protocol 3的简称,即邮局协议的第三个版本,他是规定怎样将我的计算机链接到Internet的邮件服务器和下载电子邮件的协议。它是因特网电子邮件的第一个离线协议的标准。POP3容许用户从服务器上把邮件存储到本地计算机上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接受邮件服务器,用来接受电子邮件浏览器

二、smtp:安全

  SMTP的全称是Simple Mail Transfer Protocol,即简单的邮件传输协议。它是一组用于从源地址到目的地的地址传输邮件的规范,经过它控制邮件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或者中转信件时找到下个目的地。SMTP服务器就是遵循SMTP协议的发送邮件服务器。SMTP认证,简单来讲就是要求必须在提供了帐户名和密码以后才能登录SMTP服务器。服务器

三、IMAP:app

  IMAP全称是Iternet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3相似的邮件访问标准协议之一。不一样的是,开启了IMAP后,你在电子邮件客户端收取的邮件仍然保存在服务器上,同时在客户端上的操做都会反馈到服务器上,如:删除邮件、标记邮件等,服务器上的邮件也会作相应的动做。不管从浏览器登录仍是客户端登录邮箱看到的邮件以及状态都是一致的。测试

所以:首先 开启邮箱的 POP3/smtp/IMAP  ;  获取邮箱的受权码 编码

四、python发邮件须要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import便可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。加密

  smtplib模块主要负责发送邮件:是一个发送邮件的动做,链接邮箱服务器,登陆邮箱,发送邮件(有发件人,收信人,邮件内容)。spa

  email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等

2、 smtp 使用

  能够经过3种方式登陆 , 明文  /   SSl  /  TLS

一、SSL安全邮件的支持有两种方案,一种老的是专门开启一个465端口来接收ssl邮件,另外一种更新的作法是在标准的25端口的smtp上增长一个starttls的命令来支持。#smtp = smtplib.SMTP_SSL(smtpHost,sslPort) 

smtp = smtplib.SMTP_SSL(smtpHost,sslPort)
smtp.ehlo
smtp.login(username,password)

2.tls 

 tls加密方式,通讯过程加密,邮件数据安全,使用正常的smtp端口

smtp = smtplib.SMTP(smtpHost,smtpPort)
smtp.set_debuglevel(True) smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(username,password)

3、 emil 使用

email模块下的mime模块下有经常使用的三个模块,三个模块中有三个大类

MIMEText对象中有三个须要咱们设置的参数,正文内容,正文内容的类型,例如:”text/plain”和”text/html”,正文内容的编码。

一、普通文本 

# 发送文本内容
text_info = 'hello world \nhahha\n  hahah\n ehhehehehe\nwww.baidu.com'
text_sub = MIMEText(text_info,'plain', 'utf-8')
smtp.send_message(from_addr=fromMail,to_addrs=toMail,msg=text_sub)
 

二、发送附件

#发送附件:
msg = MIMEMultipart('mixed')
file =open(r'D:\PycharmProjects\WechatHelper-master\easy_au\report\report.html','rb').read()
txt = MIMEText(file, 'base64', 'gbk32')
txt["Content-Type"] = 'application/octet-stream'
#如下代码能够重命名附件
time_ = str(datetime.datetime.now())
txt.add_header('Content-Disposition', 'attachment', filename='自动化测试报告'+time_+'.html')
msg.attach(txt)

 三、 代码

----

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考:
https://blog.csdn.net/diyiday/article/details/81504647
https://www.jb51.net/article/167376.htm

http://www.javashuo.com/article/p-wfndkabw-c.html

http://www.javashuo.com/article/p-uizwmcqy-be.html

https://blog.csdn.net/qq_20417499/article/details/80566265

相关文章
相关标签/搜索