一、国内主流邮箱 SMTP 核心配置汇总表
这是最核心的配置参数,务必准确填写,表格中优先推荐SSL 加密端口(稳定性更高、不易被屏蔽):
二、常用邮箱 SMTP 发送邮件代码样例
以下代码基于 Python 实现,仅需替换对应邮箱的配置参数即可直接运行,核心逻辑一致,差异仅在服务器地址和授权码 / 密码。
1. QQ 邮箱(最常用)
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# ---------------------- QQ邮箱配置(替换成你的) ----------------------
sender = "你的QQ号@qq.com" # 发件人QQ邮箱
auth_code = "你的QQ邮箱授权码" # 重点:不是QQ密码,是SMTP授权码
receivers = ["收件人邮箱@xxx.com"]
# ---------------------- 构造邮件内容 ----------------------
mail_content = """
<p>这是通过QQ邮箱SMTP发送的测试邮件</p>
<p>配置成功 ✅</p>
"""
message = MIMEText(mail_content, 'html', 'utf-8')
message['From'] = Header("QQ邮箱发件人", 'utf-8')
message['To'] = Header("收件人", 'utf-8')
message['Subject'] = Header("QQ邮箱SMTP测试", 'utf-8')
# ---------------------- 发送邮件 ----------------------
try:
# QQ邮箱SMTP_SSL连接(465端口)
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465)
smtp_obj.login(sender, auth_code) # 用授权码登录
smtp_obj.sendmail(sender, receivers, message.as_string())
print("QQ邮箱邮件发送成功!")
except smtplib.SMTPException as e:
print(f"发送失败:{e}")
finally:
smtp_obj.quit()
QQ 邮箱授权码获取步骤:
登录 QQ 邮箱 → 「设置」→「账户」;
找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务」;
开启「POP3/SMTP 服务」,按提示验证后生成授权码(仅显示一次,务必保存)。
2. 阿里云邮箱(个人 / 企业通用)
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# ---------------------- 阿里云邮箱配置(替换成你的) ----------------------
sender = "你的阿里云邮箱@aliyun.com" # 个人:xxx@aliyun.com;企业:xxx@qiye.aliyun.com
auth_code = "你的邮箱授权码/登录密码" # 个人邮箱可用登录密码,企业邮需用授权码
receivers = ["收件人邮箱@xxx.com"]
# 阿里云服务器地址区分:个人用smtp.aliyun.com,企业用smtp.qiye.aliyun.com
smtp_server = "smtp.aliyun.com"
# ---------------------- 构造邮件内容 ----------------------
mail_content = """
<p>这是通过阿里云邮箱SMTP发送的测试邮件</p>
<p>配置成功 ✅</p>
"""
message = MIMEText(mail_content, 'html', 'utf-8')
message['From'] = Header("阿里云邮箱发件人", 'utf-8')
message['To'] = Header("收件人", 'utf-8')
message['Subject'] = Header("阿里云邮箱SMTP测试", 'utf-8')
# ---------------------- 发送邮件 ----------------------
try:
smtp_obj = smtplib.SMTP_SSL(smtp_server, 465)
smtp_obj.login(sender, auth_code)
smtp_obj.sendmail(sender, receivers, message.as_string())
print("阿里云邮箱邮件发送成功!")
except smtplib.SMTPException as e:
print(f"发送失败:{e}")
finally:
smtp_obj.quit()
3. 腾讯企业邮
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# ---------------------- 腾讯企业邮配置(替换成你的) ----------------------
sender = "你的企业邮账号@企业域名.com" # 如:admin@company.com
auth_code = "企业邮授权码/登录密码" # 企业邮管理员后台可配置授权码
receivers = ["收件人邮箱@xxx.com"]
# ---------------------- 构造邮件内容 ----------------------
mail_content = """
<p>这是通过腾讯企业邮SMTP发送的测试邮件</p>
<p>配置成功 ✅</p>
"""
message = MIMEText(mail_content, 'html', 'utf-8')
message['From'] = Header("腾讯企业邮发件人", 'utf-8')
message['To'] = Header("收件人", 'utf-8')
message['Subject'] = Header("腾讯企业邮SMTP测试", 'utf-8')
# ---------------------- 发送邮件 ----------------------
try:
# 腾讯企业邮SMTP服务器是smtp.exmail.qq.com,端口465
smtp_obj = smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
smtp_obj.login(sender, auth_code)
smtp_obj.sendmail(sender, receivers, message.as_string())
print("腾讯企业邮邮件发送成功!")
except smtplib.SMTPException as e:
print(f"发送失败:{e}")
finally:
smtp_obj.quit()
三、通用注意事项
端口选择:优先使用 465 端口(SSL 加密),25/587 端口可能被运营商 / 服务器防火墙屏蔽;
授权码 / 密码:所有主流邮箱均不推荐直接用登录密码,优先生成「SMTP 专用授权码」,安全性更高;
异常排查:若发送失败,先检查:① 服务器地址 / 端口是否正确;② 授权码是否有效;③ 邮箱是否开启 SMTP 服务。
总结
国内主流邮箱 SMTP 核心差异在服务器地址和授权码获取方式,代码逻辑完全通用;
优先使用
SMTP_SSL+465 端口,避免端口被屏蔽导致发送失败;QQ 邮箱 / 企业邮需单独生成 SMTP 授权码,阿里云邮箱可直接用登录密码(企业邮建议用授权码)。
评论