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!!!")
  • 相关阅读:
    linux下postgresql的c程序编译问题
    Linux下Sublime Text 2中文显示及中文输入问题[转][ubuntu 10.10]
    linux英文斜体乱码 【ubuntu 10.10】
    dropbox无法访问后国内网盘对比选择
    Linux查看系统信息的一些命令及查看已安装软件包的命令(转)
    linux配置ssh 【ubuntu 10.10】
    error: failed to push some refs【Linux】【Git】
    一些曾经收藏的话
    Linux系统源码安装过程中的prefix选项【转】
    LINUX GBK>UTF8文件编码批量转换脚本[转]
  • 原文地址:https://www.cnblogs.com/surewing/p/7906702.html
Copyright © 2011-2022 走看看