zoukankan      html  css  js  c++  java
  • python自动发送邮件

    python自动发送邮件

    学习完本篇,你将会

    • 了解邮件协议
    • 编写一个邮件系统

    了解邮件SMTP协议

    • SMTP:即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
    • 发送邮件一般有两种形式,一种是通过邮箱web,另一种是下载邮箱客户端,配置邮箱账号密码,邮箱服务器,就可以发送,python类似第二种方式。
    • SMTP协议比较复杂,使用过程中,只需要知道一下几点:
      1.host:指定连接的邮箱服务器
      2.port:指定连接服务器的端口号
      3.user:登陆邮箱用户名
      4.password:登陆邮箱密码
      5.from_addr:邮箱发送者地址
      6.to_addrs:字符串列表,邮件发送地址
      7.msg:发送消息

    简单发送HTML格式邮件

    实例:
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    #发送邮件服务器
    smtpserver = ‘’ smtp.163.com”
    #发送用户名密码:
    user = ‘username@163.com’
    password = ‘123456’
    #发送邮箱
    sender = ‘username@163.com’
    #接受邮箱
    receiver =  ‘receive@qq.com’
    
    subject = “python email test” 
    
    #发送主体
    msg = MIMEText('<html><h1>你好!</h1></html>','html','utf-8')
    msg["Subject"] = Header(subject,'utf-8')
    
    #邮箱发送者地址以及收件人地址
    msg['From'] = sender
    msg['To'] = receiver
    #连接邮件
    smtp = smtplib.SMTP()
    smtp.connect(smtpsever)
    smtp.login(user,password)
    smtp.sendmail(sender,receiver,msg.as_string())
    smtp.quit()
    

    例子中除用到smtplib模块外,还用到email模块,通过email模块来定义邮件的标题和正文,Header()函数用来定义邮件标题,MIMEText()用于定义邮件正文,参数html格式的文本。

    带附件发送HTML格式邮件

    实例:
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    #发送邮件服务器
    smtpserver = ‘’ smtp.163.com”
    #发送用户名密码:
    user = ‘username@163.com’
    password = ‘123456’
    #发送邮箱
    sender = ‘username@163.com’
    #接受邮箱
    receiver =  ‘receive@qq.com’
    #主题
    subject = “python email test” 
    #附件内容
    sendfile = open(‘D:\report\log.txt’,’rb’).read()
    #发送附件
    att = MIMEText(sendfile,’base64’,’utf-8’)
    att[“Content-Type”] =  ‘application/octet-stream’
    msgRoot=MIMEMultipart(‘related’)
    msgRoot['From'] = sender
    msgRoot['To'] = receiver
    msgRoot['Subject'] = Header(subject,'utf-8')
    msgRoot.attach(msg)
    #连接邮件
    smtp = smtplib.SMTP()
    smtp.connect(smtpsever)
    smtp.login(user,password)
    smtp.sendmail(sender,receiver, msgRoot.as_string())
    smtp.quit()
    

    左侧通过读文件内容,把文件内容添加MIMEText参数中,修改文件形式,从而更改方邮件功能

    其它的内容发送可参考:
    http://www.jb51.net/article/49216.htm

    测试
  • 相关阅读:
    如何为Android写一个PhoneGap插件
    Javascript高性能动画与页面渲染
    jquery mobile Popup
    android学习资料免费下载
    锋利的jquery第2版高清 pdf
    android获取sd卡最后一张照片
    mongodb 基础
    django 实现读写分离
    docker 部署django方式
    mysql 主从读写
  • 原文地址:https://www.cnblogs.com/package/p/15315766.html
Copyright © 2011-2022 走看看