面向通过 SMTP 使用阿里云邮件推送发送邮件的最小步骤,来源于官方示例文档。
smtplib/email 模块即可。| 项 | 值 |
|---|---|
| 主机 | smtpdm.aliyun.com |
| 端口 | 25 / 80(明文),465(SSL) |
| 认证 | 控制台发信地址 + SMTP 密码 |
| 收件人数上限 | 单次不超过 60 人(含 To/Cc/Bcc) |
import smtplib, email
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
USERNAME = "your_sender@example.com" # 发信地址
PASSWORD = "your_smtp_password" # SMTP 密码
RCPT_TO = ["to1@example.com"] # To 收件人
msg = MIMEMultipart("alternative")
msg["Subject"] = Header("自定义主题")
msg["From"] = formataddr(["自定义昵称", USERNAME])
msg["To"] = ",".join(RCPT_TO)
msg.attach(MIMEText("HTML 或纯文本内容", "html", "utf-8"))
client = smtplib.SMTP_SSL("smtpdm.aliyun.com", 465) # 明文用 SMTP + 25/80
client.login(USERNAME, PASSWORD)
client.sendmail(USERNAME, RCPT_TO, msg.as_string())
client.quit()
Reply-To:收信人回复的地址。Return-Path:退信回执地址。Message-Id/Date:使用 email.utils 生成以满足 RFC 5322。X-AliDM-Trace:开启打开/链接跟踪,需在控制台预先创建 Tag。