白森 发表于 2018-8-10 09:27:04

使用Python发送邮件

#!/usr/bin/python  
#coding:utf8
  

  
from email.mime.text import MIMEText
  
from email.mime.multipart import MIMEMultipart
  
from email.header import Header
  
from email.utils import formataddr
  
import smtplib
  

  
def mail():
  

  
    ###定义SMTP服和器信息###
  
    from_addr = "13357110502@163.com"
  
    password = "Passw0rd"
  
    smtp_server = "smtp.163.com"
  

  
    # 单个不需要使用列表
  
    to_addr = ["270142877@qq.com", "yan.yu@gogen.com.cn"]
  

  
    # 创建一个带附件的实例
  
    msg = MIMEMultipart()
  
    msg.attach(MIMEText('你好:\n    这是一封Python测试邮件', 'plain', 'utf-8'))
  
    msg["From"] = formataddr(["余雁", from_addr])
  
    msg["To"] = ",".join(to_addr)
  
    msg["Subject"] = Header("Python测试邮件", "utf-8")
  

  
    ###info.txt是本地的路径,att1代表第1个附件###
  
    att1 = MIMEText(open("./info.txt", "rb").read(), "base64", "utf-8")
  
    att1["Content-Type"] = 'application/octet-stream'
  
    # filename是在邮件里面显示的名称
  
    att1["Content-Disposition"] = 'attachment; filename="123.txt"'
  
    msg.attach(att1)
  

  
    ###第2个附件,以此类推###
  
    att2 = MIMEText(open("info.txt", "rb").read(), "base64", "utf-8")
  
    att2["Content-Type"] = 'application/octet-stream'
  
    att2["Content-Disposition"] = 'attachment; filename="aaa.txt"'
  
    msg.attach(att2)
  

  
    # No SSL
  
    #server = smtplib.SMTP(smtp_server, 25)
  

  
    # Use SSL
  
    server = smtplib.SMTP_SSL(smtp_server, 465)
  

  
    # 发送的日志输出
  
    #server.set_debuglevel(1)
  

  
    # 登录到SMTP
  
    server.login(from_addr, password)
  

  
    # 发送邮件
  
    server.sendmail(from_addr, to_addr, msg.as_string())
  

  
    # 退出
  
    server.quit()
  

  
if __name__ == "__main__":
  
    mail()
页: [1]
查看完整版本: 使用Python发送邮件