一、163 邮箱 SMTP 核心配置参数

这是配置的基础信息,务必准确填写:

配置项

取值(推荐)

补充说明

SMTP 服务器地址

smtp.163.com

固定值,无需修改

端口号

465(SSL 加密)

25 端口(非 SSL)可能被运营商禁用

认证方式

密码认证(授权码)

必须用授权码,而非登录密码

加密方式

SSL/TLS

推荐 SSL,安全性更高

二、前置步骤:开启 SMTP 服务并获取授权码

这是最关键的一步(新手易踩坑),163 邮箱默认关闭 SMTP 服务,需手动开启:

  1. 登录 163 邮箱官网:https://mail.163.com/

  2. 点击顶部「设置」→ 选择「POP3/SMTP/IMAP」

  3. 开启「POP3/SMTP 服务」或「IMAP/SMTP 服务」(任选其一)

  4. 完成短信验证后,系统会生成授权码(仅显示一次,务必保存好)

❗ 注意:授权码≠邮箱登录密码,是专门用于第三方客户端 / 代码登录 SMTP 的密码。

三、Python 示例代码(完整可运行)

以 Python 为例,展示如何使用 163 SMTP 发送邮件,代码注释清晰,可直接复用:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# ---------------------- 配置信息(替换成你自己的) ----------------------
sender = "你的163邮箱@163.com"  # 发件人邮箱(开启SMTP的163邮箱)
auth_code = "你的163邮箱授权码"  # 重点:填授权码,不是登录密码
receivers = ["收件人邮箱@xxx.com"]  # 收件人邮箱,可填多个,如["a@xx.com", "b@xx.com"]

# ---------------------- 构造邮件内容 ----------------------
# 邮件正文(支持纯文本或HTML)
mail_content = """
<p>这是通过163 SMTP发送的测试邮件</p>
<p>如果能收到,说明SMTP配置成功 ✅</p>
"""
# 构造邮件对象
message = MIMEText(mail_content, 'html', 'utf-8')
message['From'] = Header("发件人名称", 'utf-8')  # 自定义发件人显示名称
message['To'] = Header("收件人名称", 'utf-8')    # 自定义收件人显示名称
message['Subject'] = Header("163 SMTP测试邮件", 'utf-8')  # 邮件标题

# ---------------------- 发送邮件 ----------------------
try:
    # 1. 建立SSL加密的SMTP连接
    smtp_obj = smtplib.SMTP_SSL("smtp.163.com", 465)
    # 2. 登录SMTP服务器(核心:用授权码)
    smtp_obj.login(sender, auth_code)
    # 3. 发送邮件
    smtp_obj.sendmail(sender, receivers, message.as_string())
    print("邮件发送成功!")
except smtplib.SMTPException as e:
    print(f"邮件发送失败:{e}")
finally:
    # 关闭连接
    smtp_obj.quit()

四、代码关键部分解释

  1. SMTP_SSL("smtp.163.com", 465):使用 SSL 加密连接 163 SMTP 服务器(465 端口),这是推荐的安全方式;

  2. smtp_obj.login(sender, auth_code):登录时第二个参数必须是授权码,用登录密码会报错;

  3. 异常捕获:避免因网络、授权码错误等导致程序崩溃,方便排查问题。

总结

  1. 163 SMTP 核心参数:服务器smtp.163.com、SSL 端口465,需用授权码认证;

  2. 必须先在 163 邮箱后台开启 SMTP 服务并获取授权码(这是发送邮件的前提);

  3. 代码中优先使用SMTP_SSL加密连接,替换配置信息后即可直接运行发送邮件。