python使用SMTP功能发送邮件

网页格式发送

for_email.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        h1 { color: brown; }
        p { margin: 5px; color: purple; }
    </style>
</head>
<body>
    <h1>这是一个邮件内容的标头</h1>
    <img src="https://img1.baidu.com/it/u=1890390320,3399874998&fm=253&fmt=auto&app=120&f=JPEG?w=1422&h=800">
    <!-- 其他内容 -->
</body>
</html>

main.py


import smtplib
import time
from email.mime.text import MIMEText


def send_message():
    """
    纯文本发送邮件
    """

    sender = 'XXX123@qq.com'            # 发送邮箱地址
    passwd = 'XXX456'                   # 授权码
    receiver = 'XXX789@sina.cn'         # 接收邮箱地址

    # 创建纯文本内容
    msg = MIMEText(f'Python 邮件发送测试 {time.time()}', 'plain', 'utf-8')    # 第一个参数为邮件发送内容
    msg['From'] = f'abc <{sender}>'
    msg['To'] = receiver
    msg['Subject'] = 'Python SMTP 邮件测试'           # 邮件主题

    try:
        # 建立 SMTP、SSL 连接
        smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
        smtp.login(sender, passwd)
        smtp.sendmail(sender, receiver, msg.as_string())
        print('邮件发送成功')
        smtp.quit()

    except Exception as e:
        print(e)
        print('发送邮件失败')


def send_html_message():
    """
    html格式发送
    """
    sender = 'XXX123@qq.com'            # 发送邮箱地址
    passwd = 'XXX456'                   # 授权码
    receiver = 'XXX789@sina.cn'         # 接收邮箱地址

    # 读入 HTML 文件的内容
    with open('./for_email.html', mode='r', encoding='utf-8') as f:
        html_content = f.read()

    # 指定类型为 HTML
    msg = MIMEText(html_content, 'html', 'utf-8')
    msg['From'] = sender
    msg['To'] = receiver
    msg['Subject'] = '测试发送 HTML 内容'

    try:
        smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
        smtp.login(sender, passwd)
        smtp.sendmail(sender, receiver, msg.as_string())
        print('发送成功')

    except:
        print('发送失败')


if __name__ == '__main__':

    send_message()
    send_html_message()


posted @   星空28  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示