【问题标题】:Not receiving email from the PHP mail() method未收到来自 PHP mail() 方法的电子邮件
【发布时间】:2013-10-04 22:30:55
【问题描述】:

我尝试设置一个 email.html 和一个 action.php,以便有人可以从网站发送电子邮件。这是 email.html 中的代码

<form action="./action.php" method="post">
    <p>Your Name</p>
    <p><input type="text" name="name" /></p>
    <p>Email</p>
    <p><input type="text" name="email" /></p>
    <p>Services</p>
    <p><input type="text" name="service" /></p>
    <p>Requests</p>
    <p><textarea rows="8" cols="32" name="comment"></textarea></p>
    <p><input type="submit" value="Send" /></p>
</form>

在 action.php 我有

<?php
    $to = "foo@outlook.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "foo2@gmail.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent.";
?>

在 email.html 中输入的信息成功加载到 action.php,但我的 Outlook 收件箱中没有通过电子邮件方法收到任何内容。我错过了什么吗?

【问题讨论】:

  • 您盲目地假设电子邮件已发送。您需要检查mail 的返回值以检查它是否实际发送:if( mail(...) ) { // mail sent }
  • 您的主机上是否有活动的电子邮件发件人,例如 sendmail 或 PHPMailer?
  • 您的系统上是否安装了 SMTP 服务器?
  • @AmalMurali 明确地说,返回值 true 表示本地 SMTP 接受它没有说明交付
  • 谢谢,这应该是我的下一步行动。我只是加入了 if/else 逻辑,else 正在运行,所以它没有发送。我在 namecheap 托管网站,肯定有 PHP 支持,我可能需要查看设置。

标签: php email


【解决方案1】:

邮件的第一次检查结果。 您还应该检查 php 错误日志文件。

当您的邮件真的要发出时,请使用有效的发件人电子邮件,然后您可以从接收邮件服务器获得退回。

不要忘记,有很多反垃圾邮件技术。 最重要的是您尊重并了解SPF 的工作方式。 这是最失败的情况之一,网站不会发送未到达收件人的电子邮件。

【讨论】:

    【解决方案2】:

    好吧,我用力敲了敲头。只是意识到他们进入了我的“$to”电子邮件 ID 的垃圾邮件文件夹。也请检查一下。

    【讨论】:

      【解决方案3】:

      首先检查 mail 的返回值,看看您的 SMTP 服务器是否正在接受该邮件。

      另外,根据 Namecheap 的文档,your From address is invalid

      只有托管在我们服务器上的域才能在“发件人”中使用 场地。任何非我们托管的域都不能添加到“发件人” 场地。我们必须采取这种措施来防止发送垃圾邮件使用 论坛、留言簿和联系表格脚本。对于您的网站脚本 要正常工作,您应该将“发件人”字段设置为具有 已在您的 cPanel 中创建。

      即使您的托管公司允许这样做,您也不应该使用非 Gmail 服务器从@gmail.com 发送邮件。接收端往往是blocked by SPF等反垃圾邮件措施。

      【讨论】:

      • 如何在我的 cPanel 中将“发件人”字段设置为电子邮件帐户?
      猜你喜欢
      • 1970-01-01
      • 2010-12-09
      • 2014-06-05
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多