php邮件功能错误 - >警告:mail()[function.mail]:SMTP服务器响应:530 5.7.0必须先发出STARTTLS命令

时间:2013-11-29 11:46:15

标签: php email ssl smtp

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

  
      
  1. Windows 8
  2.   
  3. 互联网连接
  4.   
  5. XAMPP 1.7.4,PHP Version 5.3.5,
  6.   

我有以下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 =   邮政局长@本地

     

仅适用于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的新手。

1 个答案:

答案 0 :(得分:-1)

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

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

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

希望这能解决你的问题。