php mail function erroR语言 > 警告: mail() [function.mail]: SMTP 服务器响应: 530 5.7.0 必须首先发出 STARTTLS 命令



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

  1. Windows 8
  2. Internet连接
  3. XAMPP 1.7.4,PHP版本5.3.5

我有以下php.ini设置

[邮件功能];仅适用于Win32;http://php.net/smtpSMTP=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:\examplep\sendmail\sendmail.exe\"-t"

以下是php代码:

<?php
$to = 'goodmandiamont@gmail.com';
$subject = 'hi';
$msg = 'Test';
$headers = 'From: postmaster@localhost' ."rn" .
            'Reply-To: shawn.danisa@gmail.com' . "rn" .
            '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安装具有SSL支持(在phpinfo()的输出中查找"openssl"部分)。

同样,您需要在PHP配置PHP.ini 中设置以下设置

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

希望这能解决你的问题。

最新更新