• python 邮件发送


    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!!!")
  • 相关阅读:
    Vue之VsCode开发工具配置
    解决 WPF AllowsTransparency = true 和 Webbrowser 等控件显示冲突
    Html 之div+css布局之css选择器
    Html 之div+css布局之css基础
    Html 之菜单导航(二)
    Html 开发工具 之Hbulider
    设置form窗体背景透明
    中型WPF客户端开发项目总结(4)
    中型WPF客户端开发项目总结(3.3.4)
    中型WPF客户端开发项目总结(3.3.3)
  • 原文地址:https://www.cnblogs.com/surewing/p/7906702.html
Copyright © 2020-2023  润新知