【问题标题】:how can i overcome this warning我该如何克服这个警告
【发布时间】:2017-02-28 22:58:21
【问题描述】:

警告:mail():无法在“localhost”端口 25 连接到邮件服务器,请验证 php.ini 中的“SMTP”和“smtp_port”设置或在 C:\xampp\htdocs\learn\ 中使用 ini_set() mail2.php 在第 9 行 失败邮件

my code is 

`

$headers = 'From:<akhilgundu401@gmail.com>'."\r\n".
'Reply-To:akhilyagna1@gmail.com'."\r\n".'X-Mailer:PHP/'.PHPversion();

$res=mail($to,$subject,$message,$headers);
ini_set("SMTP","ssl://smtp.gmail.com");
if($res)
{
    echo 'email sent successfully';
   }
 else {   
echo 'failure email';
}
?>

【问题讨论】:

  • 警告信息已经告诉你该怎么做:verify your "SMTP" and "smtp_port" setting - 因为你显然使用 Windows,你可能没有 smtp 服务器。所以你必须设置一个并配置php才能使用它。
  • smtp_server=smtp.gmail.com ; smtp 端口(通常为 25) smtp_port=25 ; SMTPS (SSL) 支持; auto = 对端口 465 使用 SSL,否则尝试使用 TLS; ssl = 始终使用 SSL; tls = 始终使用 TLS; none = 永远不要尝试使用 SSL
  • 请不要在评论字段中添加任何多行内容,因为它完全不可读。改为编辑您的原始帖子。并且请:提供解释什么它应该是,我们无法读心。

标签: php email


【解决方案1】:

您需要在您的机器上设置一个邮件服务器,邮件功能才能工作。如果您使用的是 Windows,则可以设置 Pegasus 邮件服务器。

其他选项包括使用包装类,如 SwiftMailer 或 PHPMailer,并使用它们连接到另一个 SMTP 服务器,如您的 GMail 帐户。

或者试试这个

在 C:\xampp\php\php.ini 中找到 extension=php_openssl.dll 并从该行的开头删除分号,以使 SSL 适用于本地主机的 gmail。

在php.ini文件中找到【邮件功能】并修改

SMTP=smtp.gmail.com

smtp_port=587

sendmail_from = my-gmail-id@gmail.com

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

现在打开 C:\xampp\sendmail\sendmail.ini。将 sendmail.ini 中的所有现有代码替换为以下代码

[发送邮件] smtp_server=smtp.gmail.com

smtp_port=587

error_logfile=error.log

debug_logfile=debug.log

auth_username=my-gmail-id@gmail.com

auth_password=my-gmail-password

force_sender=my-gmail-id@gmail.com

gmail邮件服务器需要openssl,所以你需要检查你的php安装是否支持openssl。看到这个使用phpinfo()函数在一个空白的php文件上运行这个函数n搜索openssl如果它在那里然后在你使用邮件函数的代码中写这些行在发送邮件之前ini_set("SMTP","ssl://smtp.gmail.com"); ini_set("smtp_port","465"); 它将设置所需的端口 n smtp 以及
您必须先在 Google Mail 中激活 IMAP!在谷歌设置内

【讨论】:

  • 警告:mail():SMTP 服务器响应:530 5.7.0 必须先发出 STARTTLS 命令。 h185sm32671310pfe.35 - C:\xampp\htdocs\learn\mail2.php 中的 gsmtp 第 9 行失败电子邮件
  • 如果我运行代码,那么它会自动调试
  • 首先,确保您的 PHP 安装支持 SSL(在 phpinfo() 的输出中查找“openssl”部分)。您可以在 PHP.ini 中设置以下设置: ini_set("SMTP","ssl://smtp.gmail.com"); ini_set("smtp_port","465");
  • 请您详细解释一下
  • '。“\r\n”。 '回复:akhilyagna1@gmail.com'."\r\n".'X-Mailer:PHP/'.PHPversion(); $res=mail($to,$subject,$message,$headers); ini_set("SMTP","ssl://smtp.gmail.com"); if($res) { echo '邮件发送成功'; } else { echo '失败的电子邮件'; } ?>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2019-05-11
  • 2021-07-01
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多