【问题标题】:php mail function error -> Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command firstphp mail function error -> Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first
【发布时间】:2013-12-15 14:36:33
【问题描述】:

我正在尝试将电子邮件从 php 发送到 gmail 帐户。我的笔记本电脑上有以下设置:

  1. Windows 8
  2. 互联网连接
  3. XAMPP 1.7.4,PHP 版本 5.3.5,

我有以下 php.ini 设置

[邮件功能] ;仅适用于 Win32。 ; http://php.net/smtp SMTP = smtp.gmail.com; http://php.net/smtp-port

smtp_port = :465

;仅适用于 Win32。 ; http://php.net/sendmail-from ;sendmail_from = postmaster@localhost

;仅适用于 Unix。您也可以提供参数(默认值:“sendmail -t -i"). ; http://php.net/sendmail-path ;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

以下是php代码:

<?php

$to = 'goodmandiamont@gmail.com';
$subject = 'hi';
$msg = 'Test';
$headers = 'From: postmaster@localhost' ."\r\n" .
            'Reply-To: shawn.danisa@gmail.com' . "\r\n" .
            'X-Mailer: PHP /' . phpversion();
mail($to, $subject,$msg,$headers);

?>

我收到以下错误:

警告:mail() [function.mail]:SMTP 服务器响应:530 5.7.0 必须先发出 STARTTLS 命令。

我还确保在 gmail 设置中启用了 IMAP 设置。我还检查了是否会在 php.ini 文件中找到以下行:

ini_set("SMTP","ssl://smtp.gmail.com");

ini_set("smtp_port","465");

但没有运气,我只是无法在任何地方找到它们。请帮忙,我是php新手。

【问题讨论】:

    标签: php email ssl smtp


    【解决方案1】:

    首先,确保您的 PHP 安装支持 SSL(在 phpinfo() 的输出中查找“openssl”部分)。

    再次,您需要在 PHP 配置 PHP.ini 中设置以下设置

    ini_set("SMTP","ssl://smtp.gmail.com");
    ini_set("smtp_port","465");
    

    希望这能解决您的问题。

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2017-07-12
      • 1970-01-01
      • 2014-03-30
      相关资源
      最近更新 更多