php邮件函数错误->;警告:mail()[function.mail]:SMTP服务器响应:530 5.7.0必须


php mail function error -> Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

我正在尝试从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' ."'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安装具有SSL支持(在phpinfo()的输出中查找"openssl"部分)。

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

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

希望这能解决你的问题。

相关文章: