常用邮箱服务器(SMTP、POP3)地址、端口:从基础到实战配置指南
发布时间:2026-09-22 | 浏览:1
基础概念:SMTP与POP3是什么? 2.1 SMTP:发送邮件的"快递员" 2.2 POP3:接收邮件的"取件箱" 2.3 SMTP vs POP3:核心区别
2.1 SMTP:发送邮件的"快递员"
2.2 POP3:接收邮件的"取件箱"
2.3 SMTP vs POP3:核心区别
常用邮箱服务商的SMTP/POP3配置信息 3.1 国内主流服务商(QQ邮箱、163邮箱、阿里云企业邮) 3.2 国际主流服务商(Gmail、Outlook/Hotmail、Yahoo Mail) 3.3 企业自建邮件服务器(Exchange、Postfix)
3.1 国内主流服务商(QQ邮箱、163邮箱、阿里云企业邮)
3.2 国际主流服务商(Gmail、Outlook/Hotmail、Yahoo Mail)
3.3 企业自建邮件服务器(Exchange、Postfix)
配置中的常见问题与排障技巧 4.1 端口连接失败:为什么?怎么办? 4.2 认证失败:用户名密码 vs 应用专用密码 4.3 加密方式选择:SSL/TLS vs STARTTLS
4.1 端口连接失败:为什么?怎么办?
4.2 认证失败:用户名密码 vs 应用专用密码
4.3 加密方式选择:SSL/TLS vs STARTTLS
最佳实践:安全、高效配置邮件服务器
示例:用Python实现SMTP发送与POP3接收邮件 6.1 环境准备 6.2 SMTP发送邮件示例 6.3 POP3接收邮件示例
2. 基础概念:SMTP与POP3是什么? #
在深入配置细节前,我们需要先明确SMTP与POP3的核心角色——它们是 应用层协议 ,基于TCP传输层协议工作,分工明确:一个负责"发",一个负责"收"。
2.1 SMTP:发送邮件的"快递员" #
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的作用相当于"快递员":将你撰写的邮件从本地客户端(如Outlook、手机邮件APP)或服务器,传递到收件人的邮件服务器。
推协议(Push Protocol) :主动将邮件从发送方推送到接收方服务器;
基于TCP :默认使用25端口(未加密),但现代服务更常用 465(SSL/TLS加密) 或 587(STARTTLS加密) ;
支持中继 :允许邮件经过多个服务器转发(比如你的邮件从QQ邮箱发送到Gmail,会经过QQ的SMTP服务器→Gmail的SMTP服务器)。
客户端连接到你的邮箱服务商的SMTP服务器;
SMTP服务器验证你的身份(用户名+授权码/应用专用密码);
SMTP服务器通过 MX记录 查询收件人域名的邮件服务器(比如收件人是 [email protected] ,MX记录指向 smtp.gmail.com );
将邮件转发到收件人的服务器,最终存入收件人邮箱。
2.2 POP3:接收邮件的"取件箱" #
POP3(Post Office Protocol Version 3,邮局协议第三版)的作用相当于"取件箱":将邮件从远程服务器"拉"到你的本地客户端(如电脑上的Outlook),方便你离线查看。
拉协议(Pull Protocol) :由客户端主动向服务器请求获取邮件;
基于TCP :默认使用110端口(未加密),现代服务常用 995(SSL/TLS加密) ;
默认删除(可选) :传统POP3会在邮件被拉到客户端后删除服务器上的副本,但现在大部分客户端支持"保留服务器副本"。
你的邮件客户端(如Outlook)定期连接到服务商的POP3服务器;
验证身份后,请求获取未读取的邮件;
POP3服务器将邮件发送到客户端;
客户端将邮件存储在本地(如电脑硬盘),供离线查看。
2.3 SMTP vs POP3:核心区别 #
3. 常用邮箱服务商的SMTP/POP3配置信息 #
以下是 国内/国际主流服务商 及 企业自建服务器 的SMTP/POP3配置参数(数据截至2024年6月,若有变动请以服务商官方文档为准)。
3.1.1 QQ邮箱(包括企业QQ邮箱) #
QQ邮箱是国内用户最多的个人邮箱之一,配置时需注意 必须开启SMTP/POP3服务并获取授权码 (不能用登录密码直接认证)。
登录QQ邮箱→ 设置 → 账户 ;
找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务";
开启"POP3/SMTP服务",按照提示发送短信验证;
生成授权码(复制保存,丢失需重新生成)。
3.1.2 163邮箱(网易邮箱) #
163邮箱的配置逻辑与QQ邮箱类似,需开启SMTP/POP3服务并获取授权码。
阿里云企业邮面向企业用户,配置时需使用企业自定义域名(如 [email protected] )。
3.2.1 Gmail(Google Mail) #
Gmail是国际主流邮箱,配置时需注意 启用2FA并生成应用专用密码 (否则无法通过第三方客户端认证)。
登录Google账户→ 安全 → 2步验证 ;
滚动到页面底部,点击"应用专用密码";
选择"邮件"和"其他(自定义名称)",生成密码(复制保存)。
3.2.2 Outlook/Hotmail(微软邮箱) #
Outlook邮箱支持POP3/SMTP,配置时需注意 开启"允许应用使用不太安全的登录方式"(若未开启2FA) 。
3.3 企业自建邮件服务器 #
若企业使用 Exchange Server 或 Postfix 自建邮件服务器,配置参数需根据企业IT部门的设置调整,以下是默认值:
3.3.1 Exchange Server(微软企业邮件服务器) #
3.3.2 Postfix(开源邮件服务器) #
Postfix是Linux系统常用的开源SMTP服务器,默认配置如下:
4. 配置中的常见问题与排障技巧 #
即使你记住了服务器地址和端口,配置时仍可能遇到各种报错——以下是最常见的问题及解决方法。
4.1 端口连接失败:为什么?怎么办? #
报错示例 :"无法连接到SMTP服务器,端口587"或"Connection refused"。
防火墙/杀毒软件拦截 :本地防火墙或杀毒软件阻止了客户端访问该端口;
ISP封锁 :部分运营商(如国内移动、联通)会封锁端口25(防止垃圾邮件);
服务器未开放端口 :服务商可能未启用该端口(比如Gmail不支持端口25);
地址/端口拼写错误 :比如把 smtp.qq.com 写成 smtp.qq.con ,或端口写成588而非587。
测试端口连通性 :用 telnet (Windows)或 nc (macOS/Linux)命令测试: Windows: telnet smtp.qq.com 587 (返回"Connected to smtp.qq.com"表示通畅); macOS/Linux: nc -vz smtp.qq.com 587 (返回"Connection to smtp.qq.com 587 port [tcp/submission] succeeded!"表示通畅)。
Windows: telnet smtp.qq.com 587 (返回"Connected to smtp.qq.com"表示通畅);
macOS/Linux: nc -vz smtp.qq.com 587 (返回"Connection to smtp.qq.com 587 port [tcp/submission] succeeded!"表示通畅)。
切换端口 :若端口25被封锁,尝试用465或587;
检查防火墙 :允许客户端访问该端口(比如Windows Defender防火墙→允许应用或功能通过防火墙);
确认参数正确性 :参考服务商官方文档(如QQ邮箱帮助中心)。
4.2 认证失败:用户名密码 vs 应用专用密码 #
报错示例 :"SMTPAuthenticationError: (535, b'Authentication failed')"或"POP3 authentication failed"。
使用登录密码而非授权码 :QQ邮箱、Gmail等服务商要求第三方客户端使用 授权码 或 应用专用密码 (而非登录密码);
授权码过期/错误 :授权码丢失或未更新;
2FA未开启 :Gmail等服务商要求开启2FA后才能生成应用专用密码;
用户名错误 :比如把邮箱地址写成 [email protected] (正确是 [email protected] )。
确认认证方式 :参考服务商文档(如Gmail要求应用专用密码,QQ邮箱要求授权码);
重新生成凭证 :QQ邮箱重新生成授权码,Gmail重新生成应用专用密码;
检查用户名 :确保邮箱地址拼写正确(比如 [email protected] 而非 [email protected] )。
4.3 加密方式选择:SSL/TLS vs STARTTLS #
报错示例 :"ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number"或"STARTTLS extension not supported by server"。
SSL/TLS(隐式加密) :客户端与服务器连接时直接使用加密通道(如端口465),无需额外命令;
STARTTLS(显式加密) :客户端先与服务器建立未加密连接(如端口587),再发送 STARTTLS 命令升级为加密通道。
用STARTTLS连接SSL端口(如用端口465+STARTTLS);
用SSL连接STARTTLS端口(如用端口587+SSL);
服务器不支持所选加密方式(如部分老服务器不支持STARTTLS)。
匹配端口与加密方式 : 端口465→SSL/TLS; 端口587→STARTTLS; 端口995→SSL/TLS。
端口587→STARTTLS;
确认服务器支持 :参考服务商文档(如Gmail支持465+SSL和587+STARTTLS);
代码中正确配置 :比如Python的 smtplib 库中, SMTP_SSL() 对应SSL/TLS, starttls() 对应STARTTLS。
5. 最佳实践:安全、高效配置邮件服务器 #
为了确保邮件传输的 安全性 和 稳定性 ,请遵循以下最佳实践:
未加密的端口(如25、110)会导致邮件内容和认证信息被中间人窃取(比如公共WiFi下)。 始终选择SSL/TLS(端口465、995)或STARTTLS(端口587) 。
5.2 避免使用默认端口(非必要情况) #
默认端口(如25、110)是黑客扫描的重点,容易遭受攻击或被ISP封锁。 优先使用非默认端口 (如587代替25,995代替110)。
授权码/应用专用密码若泄露,会导致邮件被非法发送或接收。 每3-6个月更新一次授权码 ,若怀疑密码泄露,立即重新生成。
5.4 监控邮件服务器状态 #
用 telnet 或 nc 定期测试端口连通性;
使用 MXToolbox ( https://mxtoolbox.com/)检查服务器健康状态(如是否被列入垃圾邮件黑名单);
企业服务器需监控邮件发送日志,发现异常流量(如短时间发送大量邮件)及时拦截。
6. 示例:用Python实现SMTP发送与POP3接收邮件 #
Python的 smtplib (SMTP)和 poplib (POP3)库原生支持邮件协议,结合 email 库可以轻松实现邮件的发送与接收。以下示例以 QQ邮箱 为例(需提前获取授权码)。
安装依赖库: pip install python-dotenv # 用于加载环境变量(安全存储敏感信息)
创建 .env 文件(存储敏感信息,避免硬编码): # .env文件内容 QQ_EMAIL=你的QQ邮箱地址(如 [email protected] ) QQ_AUTH_CODE=你的QQ邮箱授权码 RECIPIENT_EMAIL=收件人邮箱(如 [email protected] )
6.2 SMTP发送邮件示例 #
以下代码演示如何用SMTP发送一封纯文本邮件:
MIMEText :构造邮件内容(支持HTML需将第二个参数改为 "html" );
starttls() :启用STARTTLS加密(若用端口465,需替换为 server = smtplib.SMTP_SSL(smtp_server, 465) );
login() :用授权码登录(不是登录密码);
sendmail() :发送邮件,参数为发件人、收件人、邮件字符串。
6.3 POP3接收邮件示例 #
以下代码演示如何用POP3接收QQ邮箱的最新邮件:
POP3_SSL :使用SSL加密连接(对应端口995);
stat() :获取邮件数量和总大小;
retr(index) :获取指定索引的邮件( index 从1开始, num_messages 是最新一封);
message_from_bytes() :将字节串转换为可解析的邮件对象;
walk() :遍历邮件的多部分内容(处理附件、文本、HTML等);
get_payload(decode=True) :解码邮件正文(处理Base64等编码)。
POP3默认会将邮件从服务器删除(取决于客户端设置),但 retr() 命令不会删除, dele(index) 命令才会删除;
若需保留服务器邮件,需在客户端设置中选择"保留服务器副本"。
SMTP与POP3是电子邮件的"左右脑":SMTP负责将邮件送出去,POP3负责将邮件收回来。要想顺利配置邮件客户端或开发邮件功能,你需要:
记清核心参数 :服务商的服务器地址、端口、加密方式;
解决常见问题 :端口封锁、认证失败、加密不匹配;
遵循最佳实践 :使用加密、避免默认端口、定期更新授权码;
动手实践 :通过Python等代码验证配置(比如发送一封测试邮件)。
希望本文能帮你彻底解决"邮箱服务器配置"的困惑——下次遇到"SMTP端口填什么"的问题,再也不用翻遍全网找答案了!
QQ邮箱官方帮助: POP3/IMAP/SMTP设置
Gmail官方文档: 使用IMAP或POP3访问Gmail
SMTP协议RFC: RFC 5321
POP3协议RFC: RFC 1939
Python smtplib文档: smtplib — SMTP 协议客户端
Python poplib文档: poplib — POP3 协议客户端