zoukankan      html  css  js  c++  java
  • 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!!!")
  • 相关阅读:
    Hyper-V安装Centos7
    【DDD】使用领域驱动设计思想实现业务系统
    关于数据库‘状态’字段设计的思考与实践
    如何快速处理线上故障
    《企业应用架构模式》读后感
    java使用何种类型表示精确的小数?
    【项目经验】数据迁移总结
    springMVC引入Validation详解
    【DDD】领域驱动设计实践 —— 一些问题及想法
    【系统设计】“查询推荐好友”服务在不同架构风格下如何设计?
  • 原文地址:https://www.cnblogs.com/surewing/p/7906702.html
Copyright © 2011-2022 走看看