一、国内主流邮箱 SMTP 核心配置汇总表

这是最核心的配置参数,务必准确填写,表格中优先推荐SSL 加密端口(稳定性更高、不易被屏蔽):

邮箱类型

SMTP 服务器地址

SSL 端口

非 SSL 端口

授权方式关键说明

QQ 邮箱

smtp.qq.com

465

587

需开启 POP3/SMTP,用「QQ 邮箱授权码」(非 QQ 密码)

腾讯企业邮

smtp.exmail.qq.com

465

587

企业邮后台开启 SMTP,用账号授权码 / 密码

阿里云邮箱(个人)

smtp.aliyun.com

465

25

开启 SMTP,用登录密码 / 授权码

阿里企业邮

smtp.qiye.aliyun.com

465

25

企业邮管理后台开启 SMTP,用账号授权码

新浪邮箱(VIP)

smtp.sina.com

465

25

普通新浪邮箱需开通 VIP 才能用 SMTP

搜狐邮箱

smtp.sohu.com

465

25

开启 SMTP,用登录密码

二、常用邮箱 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 邮箱授权码获取步骤

  1. 登录 QQ 邮箱 → 「设置」→「账户」;

  2. 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务」;

  3. 开启「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()

三、通用注意事项

  1. 端口选择:优先使用 465 端口(SSL 加密),25/587 端口可能被运营商 / 服务器防火墙屏蔽;

  2. 授权码 / 密码:所有主流邮箱均不推荐直接用登录密码,优先生成「SMTP 专用授权码」,安全性更高;

  3. 异常排查:若发送失败,先检查:① 服务器地址 / 端口是否正确;② 授权码是否有效;③ 邮箱是否开启 SMTP 服务。

总结

  1. 国内主流邮箱 SMTP 核心差异在服务器地址授权码获取方式,代码逻辑完全通用;

  2. 优先使用SMTP_SSL+465 端口,避免端口被屏蔽导致发送失败;

  3. QQ 邮箱 / 企业邮需单独生成 SMTP 授权码,阿里云邮箱可直接用登录密码(企业邮建议用授权码)。