php mail function error -> Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must
Posted
技术标签:
【中文标题】php 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 帐户。我的笔记本电脑上有以下设置:
Windows 8 互联网连接 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新手。
【问题讨论】:
【参考方案1】:首先,确保您的 PHP 安装支持 SSL(在 phpinfo()
的输出中查找“openssl”部分)。
再次,您需要在 PHP 配置 PHP.ini 中设置以下设置
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");
希望这能解决您的问题。
【讨论】:
以上是关于php mail function error -> Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must 的主要内容,如果未能解决你的问题,请参考以下文章
警告:mail() [function.mail]:无法连接到邮件服务器