警告:mail():SMTP服务器响应:530 5.7.0必须首先发出STARTTLS命令


Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

详细信息

  • 我正在本地Windows7机器上使用PHP.exe运行PHP脚本
  • 我想在脚本末尾触发一封电子邮件,但我无法让它发送电子邮件

邮件

mail('email@gmail.com', '$title' , '$data' );

这就是我的php.ini中的内容

[mail function]
SMTP = smtp.gmail.com
smtp_port = 25
username = email@gmail.com
password = *****
sendmail_from = email@gmail.com

我仍然无法发送任何邮件。我不断得到:

警告:mail():SMTP服务器响应:530 5.7.0必须首先发出STARTTLS命令。l49sm228391qgd.21-gsmtp

如果我做错了什么,请善意地建议。

请随时给我任何建议。

感谢您抽出时间!

mail()是那些永远不应该成为PHP代码一部分的PHP函数之一,因为它实现得很差,而且非常简单。它只是不支持TLS,所以使用PHPMailer或类似的包来代替

您的SMTP服务器需要TLS,但mail不支持。这是一个非常基本的功能。

如果要发送邮件,则应使用工业级SMTP库。