Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP电子邮件已成功发送,但Gmail未收到_Php_Email_Gmail_Xampp - Fatal编程技术网

PHP电子邮件已成功发送,但Gmail未收到

PHP电子邮件已成功发送,但Gmail未收到,php,email,gmail,xampp,Php,Email,Gmail,Xampp,我有一些代码在过去曾经为我工作过,但现在已经不是了,因为一些我不理解的原因。我很确定问题不在代码本身,因为1我没有改变任何东西,2它在过去对我有效。我正在使用XAMPP和PHP 我的网页允许用户填写联系表并通过PHP发送电子邮件。它似乎成功地执行了,因为这样用户才能访问thankyou.html。为了解决这个问题,我已经1个清除了浏览器的缓存,2个检查了Gmail中的垃圾邮件文件夹 但我仍然找不到我的电子邮件,也不知道为什么。我不熟悉SMTP的工作原理;如果问题与此有关,那么我希望得到一个解释

我有一些代码在过去曾经为我工作过,但现在已经不是了,因为一些我不理解的原因。我很确定问题不在代码本身,因为1我没有改变任何东西,2它在过去对我有效。我正在使用XAMPP和PHP

我的网页允许用户填写联系表并通过PHP发送电子邮件。它似乎成功地执行了,因为这样用户才能访问thankyou.html。为了解决这个问题,我已经1个清除了浏览器的缓存,2个检查了Gmail中的垃圾邮件文件夹

但我仍然找不到我的电子邮件,也不知道为什么。我不熟悉SMTP的工作原理;如果问题与此有关,那么我希望得到一个解释

代码如下:

<?php
$field_first_name = $_POST['cf_first_name'];
$field_last_name = $_POST['cf_last_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];
$field_reference = $_POST['cf_reference'];

$mail_to = 'myself@gmail.com';
$subject = 'Message from a website visitor '.$field_first_name.' '.$field_last_name;

$body_message = 'From: '.$field_first_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message."\n";
$body_message .= 'Reference: '.$field_reference;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
        <script language="javascript" type="text/javascript">
                //alert('Thank you for the message. We will contact you shortly.');
                window.location = 'thankyou.html';
        </script>
<?php
}
else { ?>
        <script language="javascript" type="text/javascript">
                alert('Message failed. Please, send an email to someemail@gmail.com');
                window.location = 'home.php';
        </script>
<?php
}
?>

非常感谢您的任何意见

至少AOL会自动删除PHP内部邮件发送的所有电子邮件。我不知道他们是如何检测到的,它根本不会显示在收件箱中

一个解决方案是使用像PHPMailer这样的电子邮件库,通过真正的SMTP服务器发送电子邮件


编辑:您的本地计算机是否具有动态或固定IP地址?几乎每个严肃的SMTP服务器都会拒绝动态IP地址发送的电子邮件。

我使用的是:在我的网站中,而不是在XAMPP中

$from = "mail@mail.de";
$to = "mail@mail.de";
$subject = "subject";
$mailtext = "blablabla";
mail($to, $subject, $mailtext, "From: $from "); 
它正在工作

但我也尝试了XAMPP,但什么都没有发生:
所以我不知道如何将邮件与XAMPP一起使用

你检查过发起人电子邮件收件箱中是否有被退回的电子邮件吗?你必须检查服务器日志中是否有我的邮件,因为有很多垃圾邮件帐户被临时阻止@J A,我检查过发起人电子邮件收件箱,我没有看到任何被退回的电子邮件@dianuj:我是新手……我该如何检查服务器日志?此外,我尝试发送/接收两个新的电子邮件地址,以避免暂时堵塞我的帐户,但我仍然没有收到任何电子邮件…您是从您的本地计算机还是从internet上的服务器发送?PHP是如何配置为发送邮件的?您是使用本地SMTP服务器转发邮件,还是直接发送邮件?我想这是在php.ini中配置的?顺便说一下,您应该在使用$field\u电子邮件之前对其进行过滤,因为目前您的脚本可以充当垃圾邮件中继。考虑用户发送时会发生什么a@example.com\r\n收件人:spamvictim@hotmail.com正如我之前提到的,我能够向我的Gmail帐户发送电子邮件,尽管它们以前出现在我的垃圾邮件文件夹中,但没有问题。我宁愿避免使用不必要的电子邮件库。。。