【问题标题】:Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first [duplicate]警告:mail():SMTP 服务器响应:530 5.7.0 必须先发出 STARTTLS 命令 [重复]
【发布时间】:2015-02-17 19:07:39
【问题描述】:

详情

  • 我正在使用 php.exe 在本地 Windows 7 机器上运行 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 命令。 l49sm2288391qgd.21 - gsmtp

如果我做错了什么,请指教。

如果有任何建议,请随时给我。

感谢您的宝贵时间!

【问题讨论】:

  • 让生活变得轻松。不要使用mail(),而是使用PHPMailer

标签: php email


【解决方案1】:

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

【讨论】:

  • 这在当时是有道理的,但对于您可以控制一切并只想发送一些该死的本地邮件的孤立安装来说仍然有意义。
【解决方案2】:

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

如果你想发送邮件,你应该使用工业级的 SMTP 库。

【讨论】:

    猜你喜欢
    • 2016-05-16
    • 2011-07-13
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多