服务器发信(通常指通过SMTP协议发送邮件)需要根据发送方式和服务商策略来开通相应的端口、服务及安全配置,以下是核心要点:
邮件发送主要基于SMTP协议,你需要确保服务器防火墙允许出站连接以下端口:
| 端口 | 加密方式 | 说明 | 常见服务商 |
| 25 | 无/TLS(明文) | 传统端口,但云服务商(如阿里云、腾讯云、AWS)默认封锁,用于防垃圾邮件,如果使用此端口,需向云商申请解封。 | 自建邮件服务器 |
| 465 | SSL/TLS(加密) | 推荐使用,安全性高,云服务商通常不会封锁此端口。 | QQ邮箱、Gmail、网易 |
| 587 | STARTTLS(加密) | 标准的邮件提交端口,安全性介于25和465之间,部分服务商推荐。 | Office 365、SendGrid |
:最常用的端口是465(SSL)或587(STARTTLS)。25端口如果被封,需向云服务商提交工单解封。
大多数服务器通过第三方SMTP服务发信,需要开通以下权限:
开启SMTP服务:在邮箱设置(如QQ邮箱、163邮箱、Gmail)中开启“POP3/SMTP服务”或“允许第三方客户端”。
获取授权码(密码):很多邮箱(如QQ邮箱)不允许直接用登录密码发信,必须生成专门的授权码作为发信密码。
开通API密钥:如果使用邮件发送服务(如SendGrid、阿里云邮件推送、Mailgun),需要生成API Key或SMTP凭证。
如果要使用服务器25端口 直接发信(即不依赖第三方),需要开通:
解封25端口:向云服务商(阿里云、腾讯云等)申请解封,通常需要提供业务用途说明。
配置反向DNS(PTR记录):向DNS服务商添加PTR记录,提高邮件到达率(避免被标记为垃圾邮件)。
安装邮件服务软件:如Postfix、Sendmail等,并配置SPF、DKIM、DMARC记录(用于邮件身份验证)。
出站规则:确保服务器防火墙(如iptables、firewalld)允许客户端(你的程序)访问上述端口(465/587/25)。
入站规则:一般不需要开放入站端口(除非你需要服务器接收邮件,如开启IMAP/POP3服务)。
白名单:如果使用公司内部邮件服务器,可能需将服务器IP加入白名单。
| 问题 | 可能原因 | 解决方案 |
| 连接超时/失败 | 25端口被云商封锁 | 改用465或587端口;或申请解封25端口 |
| 用户名密码错误 | 使用了邮箱登录密码(非授权码) | 使用邮箱的授权码(在邮箱设置中生成) |
| 被标记为垃圾邮件 | 缺少SPF/DKIM记录 | 在域名DNS中添加SPF、DKIM、DMARC记录 |
| 需发送大量邮件 | 普通邮箱有日发送量限制 | 使用专门的邮件发送服务(SMTP中继服务) |
1、选择发送方式:决定用第三方邮箱(如QQ邮箱)还是专用邮件发送服务(如SendGrid、阿里云邮件推送)。
2、获取凭据:开启SMTP服务,记录邮箱地址、授权码或API Key。
3、配置端口:在代码或邮件客户端中填入465(SSL) 或587(STARTTLS) 端口。
4、放行防火墙:确保服务器出站流量能访问该端口。
5、测试发送:使用telnet或代码测试(如Python的smtplib库)。
如果你有具体使用的语言(如Python、PHP、Node.js)或云服务商(如阿里云、腾讯云),可以告诉我,我可以提供更精确的配置代码示例。
文章摘自:https://idc.huochengrm.cn/js/25005.html
评论
黎谷槐
回复服务器发信需要开启SMTP服务,配置邮件服务器地址、端口、用户名和密码。