如何设置SMTP?
应用中发送邮件是一个很常见的功能。经过大量用户实践反馈,只推荐一种发邮件的方式,即安装邮件插调用第三方邮件系统的STMP相关账号来进行邮件发送。
SMTP发送邮件有三个步骤:
- 申请一个可用的SMTP服务(例如:stmp.qq.com,端口号465,账号...)
- 打开应用软件中的SMTP配置界面(类似WordPress默认没有SMTP配置项,则需要额外安装一个SMTP插件)
- 测试SMTP
请忘掉在本机上安装sendmail等邮件服务器的方案,因为邮件系统的路由配置受制与域名、防火墙、路由等多种因素制约,导致不稳定、不容易维护、不好诊断问题。
SMTP测试失败
如果使用第三方提供的SMTP服务(如qq邮箱、网易邮箱等),配置也没有问题,但是仍然无法发送邮件。请检查如下两个问题:
- 登录服务器,验证是否可以连接SMTP,按 Windows+R 输入 CMD 打开 CMD 命令窗口,命令如下
//测试qq邮箱 端口有465和587
telnet smtp.qq.com 465
//测试网易邮箱 端口有465和994
telnet smtp.163.com 465
如果出现一个只有光标没有任何内容的界面,这样的反馈信息说明是可以连接的。
注意:本地Telnet测试成功,不代表服务器Telnet成功,因为您的服务器IP地址由于某些原因可能会被STMP服务器列入黑名单。
需要了解你所使用的STMP功能是否调用了PHP软件包(或扩展类)
- php官方提供的mail()类,这个类不支持SMTP验证
- php扩展包-PHPMailer,这个类功能比较全面
安全组(出设置)禁止外部访问
系统iptables,firewall设置关闭了465等端口
php_openss版本过低或者没有安装,php_openssl的CA证书确实或异常