Python邮件发送

使用Python发邮件常用的库有smtplib email等常用的,但是代码太复杂,不便于学习,zmail库更简单,可以快速上手

github地址https://github.com/ZYunH/zmail

安装

使用pip安装

> pip3 install zmail

功能

自动查找服务器地址及其端口。

自动使用合适的协议登录。

自动将python字典转换为MIME对象(带附件)。

自动添加邮件标题和本地名称,以避免服务器拒绝您的邮件。

轻松自定义邮件标题。

支持HTML作为邮件内容。

只需要python> = 3.5,您可以将其嵌入到项目中而无需其他模块。

代码演示

import zmail

import os



# 邮箱配置基本信息

mail_cof = {

    "sender": "[email protected]",

    "psw": "xxxxxx",

    "smtp_host": "smtp.exmail.qq.com",

    "smtp_port": 465,

    "receiver": ['[email protected]', '[email protected]']

}



cur_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))

# report_path是报告文件地址

report_path = os.path.join(cur_path, "report", "report.html")



def send_mail(sender, psw, smtp_host, smtp_port, receiver):

    '''

    发送html报告到邮箱

    :return:

    '''

    # open读取html内容

    with open(report_path, 'r', encoding="utf-8") as f:

        content_html = f.read()


    mail = {

        'subject': '接口测试报告', # Anything you want.

        # 'content_text': "主题:",  # Anything you want.

        'content_html':  content_html, # read html content

        'attachments': report_path, # Absolute path will be better.

    }


    try:

        server = zmail.server(sender,

                              psw,

                              smtp_host=smtp_host,

                              smtp_port=smtp_port)


        server.send_mail(receiver, mail)

        print('邮件发送成功!')

    except Exception as msg:

        print("邮件发送失败:%s " % str(msg))


if __name__ == '__main__':

    send_mail(**mail_cof)

发送HTML内容

with open('/Users/example.html','r') as f:

    content_html = f.read()

mail = {

    'subject': 'Success!', # Anything you want.

    'content_html': content_html,

    'attachments': '/Users/zyh/Documents/example.zip', # Absolute path will be better.

}

server.send_mail('[email protected]',mail)

使用抄送

server.send_mail(['[email protected]','[email protected]'],mail,cc=['[email protected]'])

同样,你也可以命名它们(使用元组,首先是它的名字,下一个是它的地址)

server.send_mail(['[email protected]','[email protected]'],mail,cc=[('Boss','[email protected]'),'[email protected]'])

收邮件

更多功能参考

github地址https://github.com/ZYunH/zmail

你可能感兴趣的:(Python邮件发送)