【问题标题】:The PHP Mail Function is not Working on my Website [duplicate]PHP邮件功能在我的网站上不起作用[重复]
【发布时间】:2022-01-02 01:55:11
【问题描述】:

我一直在尝试建立自己的网站,其中的核心部分是一个表单。我已经设置了一个电子邮件地址来接收表格结果。我已经能够在 localhost 上运行该网站,并且除了表单之外的所有内容都可以正常工作。当我单击提交时,它成功地将我发送到 PHP 文件,并且我没有收到来自该文件的任何电子邮件。我检查了我的垃圾邮件,它是空的。我是 PHP 的新手,我尝试修改我在网上找到的一些代码。我不确定我的代码是否有问题。如果有人可以提供帮助,那就太好了。我也试图能够通过表单发送图像文件。这是我尝试提交表单时服务器日志显示的屏幕截图。 Server Log Screenshot 这是我写的代码:

<?php
$title = htmlspecialchars($_POST['title']); 
$coordinates = htmlspecialchars($_POST['coordinates']);
$description = htmlspecialchars($_POST['description']); 
$shelterorcampsite = htmlspecialchars($_POST['shelter-campsite']);
$distanceToWater = htmlspecialchars($_POST['howfarawayiswater']);
$image = $_POST['file'];

$email_from = 'contactbackpackingproject@gmail.com';

$email_subject = "New Form submission";

$email_body = "There has been a new campsite submission. 
The title is: $title;
The type is: $shelterorcampsite;
The coordinates are: $coordinates;
The description is: $description;
The distance to water is: $distanceToWater;
An image is: $image";

$to = 'contactbackpackingproject@gmail.com';
  
        
        mail($to,$email_subject,$email_body,$headers);
  ?>

这是VS代码的截图:VS code screenshot

【问题讨论】:

  • 从 localhost (stackoverflow.com/questions/15267423/php-send-mail-in-localhost) 发送电子邮件并非易事。连接到第 3 方电子邮件服务(如 mailgun.com)并触发从其服务器发送的电子邮件会更好。不过,在网上搜索 php send email localhost 可能有助于为您提供更多指导。
  • 我正在尝试使用 localhost 来测试网站,然后部署到云服务器。因此,即使我的代码有效,我也可能不会收到电子邮件,因为我在 localhost 上运行?
  • 是的,它不会工作,因为它是本地主机。邮件功能尝试将邮件转储到工作站上运行的邮件传输代理。通常你不会有一个。即使您设置了一个,它也可能无法将邮件发送到合法的邮件服务器,因为您需要在 DNS 中设置以使其合法化的东西将不存在。最好使用 mailhog docker 镜像测试mailhog 之类的东西
  • 好的,谢谢。这解决了我的问题

标签: php email


【解决方案1】:

找到由 mail() 函数触发的确切错误消息通常很有帮助。虽然该函数不直接提供错误,但您可以在 mail() 返回 false 时使用 error_get_last()。

<?php
$success = mail('example@example.com', 'My Subject', $message);
if (!$success) {
    $errorMessage = error_get_last()['message'];
}
?>

请指出错误,因为没有它们没有人可以帮助您,并且您提供的日志只是一个 POST 请求,并不一定表明邮件功能已成功执行。

【讨论】:

    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 2013-12-16
    • 2014-03-16
    • 2014-05-19
    • 2011-04-07
    • 2012-07-12
    相关资源
    最近更新 更多