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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具