如何设置SMTP?

应用中发送邮件是一个很常见的功能。经过大量用户实践反馈,只推荐一种发邮件的方式,即安装邮件插调用第三方邮件系统的STMP相关账号来进行邮件发送。

SMTP发送邮件有三个步骤:

  1. 申请一个可用的SMTP服务(例如:stmp.qq.com,端口号465,账号...)
  2. 打开应用软件中的SMTP配置界面(类似WordPress默认没有SMTP配置项,则需要额外安装一个SMTP插件)
  3. 测试SMTP

请忘掉在本机上安装sendmail等邮件服务器的方案,因为邮件系统的路由配置受制与域名、防火墙、路由等多种因素制约,导致不稳定、不容易维护、不好诊断问题。

SMTP测试失败

如果使用第三方提供的SMTP服务(如qq邮箱、网易邮箱等),配置也没有问题,但是仍然无法发送邮件。请检查如下两个问题:

  1. 登录服务器,验证是否可以连接SMTP,按 Windows+R 输入 CMD 打开 CMD 命令窗口,命令如下
//测试qq邮箱 端口有465和587
telnet smtp.qq.com 465

//测试网易邮箱 端口有465和994
telnet smtp.163.com 465

如果出现一个只有光标没有任何内容的界面,这样的反馈信息说明是可以连接的。

注意:本地Telnet测试成功,不代表服务器Telnet成功,因为您的服务器IP地址由于某些原因可能会被STMP服务器列入黑名单。

  1. 需要了解你所使用的STMP功能是否调用了PHP软件包(或扩展类)

    • php官方提供的mail()类,这个类不支持SMTP验证
    • php扩展包-PHPMailer,这个类功能比较全面
  2. 安全组(出设置)禁止外部访问

  3. 系统iptables,firewall设置关闭了465等端口

  4. php_openss版本过低或者没有安装,php_openssl的CA证书确实或异常