我正在尝试从php向gmail帐户发送电子邮件。我的笔记本电脑上有以下设置:
- Windows 8
- Internet连接
- 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");
希望这能解决你的问题。