我有一些过去对我有用的代码,但由于某种我不明白的原因,现在不再有用了。我很确定问题不在于代码本身,因为 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
}
?>
非常感谢任何输入!