PHP XAMPP mail() 已发送,但未发送到邮箱

Posted

技术标签:

【中文标题】PHP XAMPP mail() 已发送,但未发送到邮箱【英文标题】:PHP XAMPP mail() sent, but not delivered to mailbox 【发布时间】:2020-09-24 08:32:26 【问题描述】:

我对 php 中的 mail() 函数有疑问。我正在使用 XAMPP。这是我的配置文件:

php.ini

[mail function]

SMTP = smtp.gmail.com
smtp_port = 587
sendmail_from = my_mail@gmail.com
sendmail_path = C:\xampp\sendmail\sendmail.exe\

sendmail.ini (C:\xampp\sendmail\sendmail.ini)

[sendmail]

smtp_server = smtp.gmail.com
smtp_port = 587
error_logfile = error.log
debug_logfile = debug.log
auth_username = my_mail@gmail.com
auth_password = my_password
force_sender = my_mail@gmail.com

这是我的代码:

<?php

$to= "another_mail@gmail.com";
$subject = "Title";
$messages= "Lorem ipsum dolor sit amet.";

if( mail($to, $subject, $messages) ) 
  echo "Email sent!";
 else 
  echo "Not sent!";


?>

程序正在返回已发送电子邮件! 消息,但邮件没有发送到我的邮箱。我已经尝试将 php.inisendmail.ini 中的端口更改为 465,但没有任何改变。

你有什么想法吗?


编辑

我想,我已经找到了我的这个 php 日志。它是波兰语(我的系统默认语言),所以翻译可能并不完美 - 抱歉。这里是:

Unable to find description for Event ID 2 from PHP-7.4.6 source. Either the component causing this event is not installed on the local computer or the installation is damaged. You can install or repair the component on your computer.

If the event is from a different computer, you may need to save the display information along with the event.

The following information was attached to the event:

php
mail () on [C: \ xampp \ htdocs \ mail.php: 8]: To: another_mail@gmail.com - Headers: - Subject: Title

A message resource is present, but this message was not found in the message table

你现在有什么想法吗?怎么了?

【问题讨论】:

您需要自己调试系统,因为我们无权访问您的系统。您的代码仅将消息移交给sendmail 并声明为“成功”。但这并不意味着该消息实际上已发送。这也取决于其他事情。要了解这一点,您需要查看系统的日志文件。如果无法传递您的消息,sendmail 会在此处提及。 好的,但是我在哪里可以找到这个邮件日志文件? @arkascha 显然,这取决于您的系统。我不知道你正在使用什么系统。看起来这是一个 MS Windows 操作系统(在其上操作服务器有点异国情调......),所以你找不到很多关于这个的指南......你必须检查你的 sendmail 配置关于它登录到的位置。或者,也许您可​​以在 MS Windows 提供的常用系统日志工具中找到一些东西,我认为它被称为“事件日志”或其他东西,但我不确定那里。那个系统对我来说有点陌生,抱歉。 @arkascha 我已经发布了这个日志,你现在有什么想法了吗? 【参考方案1】:

我明白了!现在可以了!

我必须去myaccount.google.com>安全并设置2步验证,然后生成应用密码(用于xampp)。

感谢这个视频:https://www.youtube.com/watch?v=L5uCc8Hab-I

谢谢!

【讨论】:

以上是关于PHP XAMPP mail() 已发送,但未发送到邮箱的主要内容,如果未能解决你的问题,请参考以下文章

我的邮件没有被php函数mail()发送[重复]

如何在xampp上使用phpmailer发送邮件

使用 php 中的 xampp 从本地服务器发送邮件

xampp php 发送邮件

php localhost邮件没有使用xampp发送

PHP xampp mail()函数不起作用