爱陪小樱桃

导航

 

MTP:
即简单邮件传输协议,他是一组用于从源地址到目的地址传输邮件的怪饭
通过他来控制邮件的中转方式,SMTP,协议属于TCP/ip协议,他帮助每台计算机在发送
或中转信件时,找到下一个目的地,SMTP服务器就是遵循SMTP协议的发送邮件服务器

SMTP认证:
SMTP认证,简单的说就是要求必须提供了账户和密码之后才可以登录SMTP服务器,
这就使得那些垃圾邮件的散播者无可乘之机

 

stmplib模块
Python内置对SMTP的支持,可以发送纯文本邮件,HTML邮件以及带附件的邮件
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责
发送邮件

 

注意:在使用前需要开启SMTP服务(如图163邮箱的设置里面;)

 

什么是POP3、SMTP和IMAP?

http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html

案例:使用163邮箱结合smtp模块发送邮件准备工作

注意:在开始前要先开启SMTP服务

 1 import smtplib      #发送邮件的模块
 2 from email.mime.text import MIMEText       #定义邮件的内容
 3 from email.header import Header        #定义邮件的标题
 5 #开启SMTP服务
 6 #邮件的服务端,在邮箱设置里面可以查看的
 7 smtpserver='smtp.163.com'
 9 #邮箱的账户和密码(写自己的邮箱和授权码)
10 usr='.......@163.com' 
12 #密码这里输入授权码
13 password='.......'
15 #发送和接受的邮箱
16 sender='.......com'
17 receive='.......com'
19 #邮件的主题和内容
20 subject="web 自动化测试报告"
21 content='<html><h1 style="color:red">天气很好,夜色很美</h1></html>'
23 #邮件正文
24 msg=MIMEText(content,'html','utf-8')
25 msg['Subject']=Header(subject,'utf-8')
26 msg['From']='......@163.com'
27 msg['To']='.......com'
29 #SSL协议端口号要使用465
30 smtp=smtplib.SMTP_SSL(smtpserver,465)
32 #向服务器标识用户身份
33 smtp.helo(smtpserver)
35 #服务器返回结果确认
36 smtp.ehlo(smtpserver)
38 #登录邮箱服务器用户名和密码
39 smtp.login(usr,password)
40 print("email send")
41 smtp.sendmail(sender,receive,msg.as_string())
42 smtp.quit()
43 print("send email end!!!")

 向多人发送邮件:

代码和上述的基本一致,只是收件人,不一样了,多了一些收件人,代码具体的不同点,请参考如下的代码;

 1 import smtplib      #发送邮件的模块
 2 from email.mime.text import MIMEText       #定义邮件的内容
 3 from email.header import Header        #定义邮件的标题
 4 
 5 #开启SMTP服务
 6 #邮件的服务端,在邮箱设置里面可以查看的
 7 smtpserver='smtp.163.com'
 8 
 9 #邮箱的账户和密码(写自己的邮箱和授权码)
10 usr='********@163.com'
11 
12 #密码这里输入授权码(输入自己的)
13 password='******'
14 
15 #发送和接受的邮箱
16 sender='********@163.com'
17 receives=['*******.com','********@126.com']
18 
19 #邮件的主题和内容
20 subject="web 自动化测试报告"
21 content='<html><h1 style="color:red">天气很好,夜色很美</h1></html>'
22 
23 #邮件正文
24 msg=MIMEText(content,'html','utf-8')
25 msg['Subject']=Header(subject,'utf-8')
26 msg['From']='********@163.com'
27 msg['To']=','.join(receives)
28 
29 #SSL协议端口号要使用465
30 smtp=smtplib.SMTP_SSL(smtpserver,465)
31 
32 #向服务器标识用户身份
33 smtp.helo(smtpserver)
34 
35 #服务器返回结果确认
36 smtp.ehlo(smtpserver)
37 
38 #登录邮箱服务器用户名和密码
39 smtp.login(usr,password)
40 print("email send")
41 smtp.sendmail(sender,receives,msg.as_string())
42 smtp.quit()
43 print("send email end!!!")

 

posted on 2017-11-27 23:28  cherry小樱桃  阅读(253)  评论(0编辑  收藏  举报