python发送邮件zmail库

文章介绍了Python第三方库zmail的使用方法,它无需登录OA邮箱即可发送邮件和附件。通过示例代码展示了如何设置邮件内容、HTML格式、附件以及如何进行SMTP和POP连接测试。相比于yagmail,zmail的使用更加简洁。
摘要由CSDN通过智能技术生成

第三方库“zmail”和“yagmail”可实现邮件发送。在实际使用对比zmail比yagmail更简洁。使用zmail,无需登录OA邮箱,便可完成邮件的发送及附件的自动加载。

import zmail


def send_zmail(sender, sender_password, addressee, host, port=465, inspect_smtp_pop=False):
    # 使用邮件服务商的邮箱,代码中的"password"要填写"授权码",也有叫邮件第三方客户端独立密码。
    # 同时出现content_text和content_html时,只显示content_html
    mes = {
        'subject': 'zmail库邮件测试',  # 主题
        'content_text': '邮件内容:\n这是第一段',  # 正文内容(纯文本形式)
        'content_html': r'<h1 style="color:red">一级标题</h1><a href="https://www.baidu.com"><h2 style="color:green">二级标题点击查看更多<<</h2><p></a><img src="D:\zhuomian\demo\tom.gif" alt="测试图片显示" title="牛牛牛" width="100" height="150"></p>',
        'attachments': [r'D:\zhuomian\test_file\学习培训导入.xlsx', r'D:\zhuomian\导入文件\批量导入模板.xlsx',
                        r'D:\zhuomian\test_file\345.txt'],  # 附件
    }
    try:
        server = zmail.server(username=sender, password=sender_password, smtp_host=host, pop_port=port)
        if inspect_smtp_pop:  # 测试SMTP/POP连接
            print('SMTP连接成功') if server.smtp_able() else print('SMTP连接失败')
            print('POP连接成功') if server.pop_able() else print('POP连接失败')
        try:
            server.send_mail(
                recipients=addressee,
                mail=mes,
                # cc='',   # 密送人员,列表或字符串
            )
        except Exception as e:
            print(f'发送失败:{e}')
    except Exception as e:
        print(f'登录失败:{e}')
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值