zoukankan      html  css  js  c++  java
  • Python发送邮件

    Python2.3+默认自带smtplib模块,可以用此模块来模拟smtp客户端(如foxmail)实现邮件发送功能。

    1.smtplib模块的常用类和方法

    SMTP类定义:smtplib.SMTP([host[,port[,local_hostname[,timeout]]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连接成功后,就可以向服务器发送相关请求,比如登录、校验、发送、退出等。

    • host参数为远程smtp主机地址,比如smtp.163.com。
    • port参数为连接端口,默认为25。
    • local_hostname的作用是在本地主机的FQDN(完整的域名)发送HELO/EHLO(标识用户身份)指令。
    • timeout为连接或尝试在多少秒超时。

    SMTP类具有以下方法:

    • SMTP.connect([host[,port]]):连接远程smtp主机的方法,host为远程主机地址,port为远程主机smtp端口,默认为25。也可以直接使用host:port形式来表示,例如:SMTP.connect("smtp.163.com","25")。
    • SMTP.login(user,password):远程smtp主机的校验方法,参数为用户名和密码。
    • SMTP.sendmail(from_addr,to_addrs,msg[,mail_options,tcpt_options]):实现邮件的发送功能,参数依次为发件人、收件人、邮件内容。
    • SMTP.starttls([keyfile[,certfile]]):启用TLS(安全传输)模式,所有SMTP指令都将加密传输,例如使用gmail的smtp服务时需要启动此项才能正常发送邮件。如:SMTP.starttls()。
    • SMTP.quit():断开smtp服务器的连接。

    2.示例

    这个示例用网易163邮箱向QQ邮箱发送了一封测试邮件。

     1 #!/usr/bin/python
     2 import smtplib
     3 import string
     4 
     5 HOST = "smtp.163.com"
     6 SUBJECT = "Test email-2 from python"
     7 FROM = "yourMail@163.com"
     8 password = "yourPassword"
     9 TO = "friend@qq.com"
    10 text = "Hello,this is a test mail!	
    I love python!"
    11 BODY = string.join((
    12     "From: %s" % FROM,
    13     "To: %s" % TO,
    14     "Subject: %s" % SUBJECT,
    15     "",
    16     text
    17 ),"
    ")
    18 server = smtplib.SMTP()
    19 server.connect(HOST,"25")
    20 server.starttls()
    21 server.login(FROM,password)
    22 server.sendmail(FROM,[TO],BODY)
    23 server.quit()
    sendMailDemo.py

    结果如下:

  • 相关阅读:
    WCF JSON DATETIME JSON.NET (Newtonsoft.Json.dll)
    fastboot 重启到recovery
    EXCEL datatable 根据列名自动写入到相应属性、字段或列中
    支付宝通讯时异常 基础连接已经关闭
    c#.net 调用BouncyCastle生成PEM格式的私钥和公钥
    WCF 遇到 由于线程退出或应用程序请求,已放弃 I/O 操作 ListenerContextInputStream
    runliuv, 安卓查看WIFI密码
    安卓 NEXUS6 修改分辨率,density
    ubuntu 安装 VISUAL STUDIO CODE
    C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换
  • 原文地址:https://www.cnblogs.com/helloIT/p/6130134.html
Copyright © 2011-2022 走看看