当前位置: 首页 > 知识库问答 >
问题:

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

茹轩昂
2023-03-14

我试图发送电子邮件从php到一个gmail帐户。我的笔记本电脑上有以下设置:

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

我有以下php.ini设置

[邮件功能];仅适用于Win32。;http://php.net/SMTP SMTP=SMTP.gmail.com;http://php.net/smtp-端口

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个答案

百里光熙
2023-03-14

首先,您要确保PHP安装具有SSL支持(在phpinfo()的输出中查找“OpenSSL”部分)。

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

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

希望这能解决你的问题。

 类似资料:
  • 问题内容: SMTP服务器响应:530 5.7.0必须首先发出STARTTLS命令 我在php脚本文件中使用mail()函数时收到此错误消息… 我正在使用gmail SMTP服务器和gmail使用STARTTLS(这是安全SSL),并且我已经在我的contact.php文件中使用了这些命令 所以我可以使用什么命令来启用STARTTLS或在php,ini文件中进行配置? 问题答案: 首先,确保您的P

  • 问题内容: 我正在使用我的帐户运行此简单示例,但该示例无法正常工作并给出以下错误: 这是我的代码 问题答案: 您可能正在尝试使用端口25上的Gmail服务器通过未经身份验证的连接将邮件传递给第三方。Gmail不允许您这样做,因为这样 任何人 都可以使用Gmail的服务器将邮件发送给其他任何人。这称为 开放中继 ,在早期是垃圾邮件的常见促成因素。Internet上不再接受开放中继。 您将需要让SMT

  • 问题内容: 我正在创建一个应用程序并尝试向其中添加电子邮件功能,为此我在build.sbt文件中添加了依赖项,但下面解释了一个异常 我的密码 application.conf中包含的代码 但我有一个例外 我怎么解决这个问题? 问题答案: 我认为您必须先指定要发送TLS电子邮件,然后再发送电子邮件。 我不确定100%,但是我认为它可以解决问题。 另外,有关更多信息,您可以参考此用户指南:https

  • 在发帖之前,我已经在网上读了很多东西和建议的问题,但是没有找到任何适合我的东西。 关于使用Gmail的JavaMail常见问题 堆栈溢出问题 JavaMail教程 谷歌搜索的任何其他结果 在过去的5天里,我一直在寻找一个解决办法,但就是找不到。 相关代码: 邮件调试日志文件: 调试:JavaMail版本1.4.1.....debug:!anyloaded 调试:未加载资源:/meta-inf/ja

  • 需要一些帮助来修复连接到 SMTP 服务器(Lotus Notes 服务器)的应用程序的错误。我已经在SO中尝试了几个建议,但没有一个有效。该应用程序能够连接到SMTP服务器并进行握手。 但是,在启动 starttls 后,它会给出一个错误。还要按照Oracle网站上的建议在java.security文件中注释掉一行,因为我们使用的是Java 8,但它仍然不起作用。 还有一些小实用程序来检查启用了