• python学习笔记(SMTP邮件发送:带附件)


    博主有段时间没有更新博客了

    先整理一个之前整理过的SMTP邮件发送,这次是带附件的功能

     1 #!/usr/bin/env python
     2 # -*- coding: utf_8 -*-
     3 
     4 from email.mime.text import MIMEText
     5 from email.mime.multipart import MIMEMultipart
     6 from email.header import Header
     7 from email.utils import parseaddr, formataddr
     8 import smtplib
     9 
    10 
    11 def _format_address(text):
    12     name, address = parseaddr(text)
    13     return formataddr((Header(name, "utf-8").encode(), address))
    14 
    15 
    16 def unittest_smtp():
    17     from_address = "xx@xx.com"
    18     # 发件箱地址
    19     password = "xxx"
    20     # 授权密码 不是邮箱登录密码
    21     to_address = "xx@xx.com"
    22     # to_address = "xx@xx.com"
    23     # 收件箱地址
    24     smtp_server = "smtp.ym.163.com"
    25     # 发件箱服务器地址
    26     message = MIMEMultipart()
    27     # msg = MIMEText("测试smtp邮件发送功能", "plain", "utf-8")
    28     # 第一个参数:邮件正文
    29     # 第二个参数:邮件类型 纯文本
    30     # 第三个参数:编码
    31 
    32     message["From"] = _format_address("自动化测试报告 <%s>" % from_address)
    33     # 发件人姓名与地址
    34     message["To"] = _format_address("xx <%s>" % to_address)
    35     # 收件人姓名与地址
    36     message["Subject"] = Header("xx自动化测试平台邮箱服务", "utf-8").encode()
    37     # 邮件标题
    38     message.attach(MIMEText("测试smtp邮件发送功能", "plain", "utf-8"))
    39 
    40     att1 = MIMEText(open("D:\pythonproject\Wito_erp\wito_selenium\20161024113212.html", "rb").read(), "base64", "utf-8")
    41     # 文件地址
    42     att1["Content-Type"] = "application/octet-stream"
    43     att1["Content-Disposition"] = 'attachment; filename="20161024113212.html"'
    44     # 定义附件名称
    45 
    46     message.attach(att1)
    47     # 添加附件
    48     try:
    49         server = smtplib.SMTP(smtp_server, 25)
    50         # 构造smtp服务器连接
    51         server.set_debuglevel(1)
    52         # 打开debug输出模式
    53         server.login(from_address, password)
    54         # 登录smtp服务器
    55         server.sendmail(from_address, to_address, message.as_string())
    56         # 发送邮件
    57 
    58         print "邮件发送成功"
    59         server.quit()
    60     except smtplib.SMTPException:
    61         print "Error: 无法发送邮件"
  • 相关阅读:
    windows环境下ElasticSearch6 安装head插件
    画流程图挺好的软件---visio
    Spring AOP使用注解记录用户操作日志
    通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合
    chrony 时间同步服务器
    Python面试题
    新认知丨认知信念决定学习能力
    Ubuntu18、Ubuntu16、Ubuntu14更新源
    让人头疼的时候最有创造力
    安卓学习(2)
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/5993528.html
Copyright © 2020-2023  润新知