【问题标题】:PHP mail() not received for Outlook 2007Outlook 2007 未收到 PHP mail()
【发布时间】:2011-07-28 20:35:16
【问题描述】:

我有一个使用 jQuery 和 PHP 编写的联系表。下面是 PHP 位,当我将 $yourremail 变量更改为我的 gmail 帐户时,它工作得非常好,但我的办公室 Outlook 帐户中从未收到电子邮件。 我有什么遗漏吗?

<?php

  // Email Vars
      $youremail = "my_email@on_outlook2007.com";
      $headers = "From: $name <$email>\n";
      $subject =  "Subject Line Here";
      $ip = $_SERVER['REMOTE_ADDR']; 
      $message_clean = html_entity_decode(stripslashes($message));

  // Format Email
      $email_format_cc =    $message_clean . "\n\n" . "___________________________________________________________________________" . "\n\n" . 
                          "Name: " . $name . "\n" .
                          "Company: " . $company . "\n" .
                          "IP Address: " . $ip . "\n" .
                          "Sent: " . $timestamp;
      $email_format    =  $email_format_cc . "\n" . 
                          "Page: " . $from_url;

      mail($youremail, $subject, $email_format, $headers);

?>

【问题讨论】:

  • 不依赖于接收方地址。你检查垃圾邮件文件夹了吗?
  • 是的,我检查了垃圾邮件文件夹。没有运气。

标签: php email gmail outlook-2007 contact-form


【解决方案1】:

检查您服务器的邮件日志,了解 gmail 是否/为何退回邮件。 PHP 的mail() 函数非常愚蠢,即使宇宙在它周围爆炸也声称成功。

【讨论】:

  • 只是证明mail()是多么的坏蛋,坏蛋从不回头看爆炸。
  • 如何查看服务器的邮件日志?有什么地方我可以在 Outlook 上执行此操作吗?
  • 取决于您在 windows 中的邮件服务器。在大多数 unix 系统上,它通常是 /var/log/maillog
  • 抱歉,我不确定你在说什么。我只熟悉 PHP 部分 - 你说的是在 Windows 中使用命令提示符吗?
  • 取决于您的脚本在哪种服务器上运行。如果它是一个 unix 服务器,那么它将在同一台服务器上拥有一个邮件服务器,并且邮件日志文件位于 /var/log/maillog 中。如果它是 Windows 服务器,您必须找出在那里运行的邮件服务器,以及它保存日志文件的位置。这不是您可以在 Outlook 中查看的内容。
猜你喜欢
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多