PHP 邮件功能有时会起作用

标签 php email exchange-server

我正在编写一个脚本,需要通过 PHP 邮件功能发送电子邮件。正如下面所写,它在向 gmail 帐户发送电子邮件时有效,但不是我域中的帐户。我们正在运行 Exchange 服务器。截至目前,电子邮件是从 _www@server 发送的。有谁知道 php 邮件和 Exchange 的问题(或者甚至可能是以下划线和 Exchange 开头的电子邮件地址??)?或者这里可能还有另一个问题?无论如何,邮件函数都会返回 true。

谢谢,

杰夫

$user = $_POST['email'];

$to = "someone@domain.org";

$subject = "Request to Reset EduTube Password";

$body = "Thank you " . $_POST['email'] . " for using the EduTube Password Reset System.\n\n";
$body .= "Please click the following link, or copy & paste it into your browser to reset your password.\n\n";
$body .= "http://testing.domain.org/reset.php?user=" . $user;

$headers = "From: someone@domain.org";

$from = "EduTube Password Reset System";

if (mail($to, $subject, $body, $headers)){

echo "Your email has been sent.  Please check your inbox shortly.";
echo "<br/><a href='http://testing.domain.org'>Click</a>";

}

最佳答案

mail() 的传递功能在将您的邮件交给 SMTP 服务器时结束。它的唯一职责是在现实世界中将你的信封扔进角落里的邮箱。其余的邮政服务(清空那个盒子,通过处理中心运行它,将它飞到收件人的国家/城市等......)完全在 mail() 的范围之外。只要信封落入邮箱,mail() 就会返回 true 并假装它已送达。

所以...检查您的 SMTP 服务器的日志,看看邮件到底发生了什么。也许它被接收者标记为垃圾邮件并被退回。也许它卡在某个地方的队列中,等等......只有日志会告诉你这一点 - 你在 PHP 中看到/做的任何事情都是无用的,因为 PHP 和 mail() 可能只做了电子邮件发送/传递过程的 1%,其他 99% 有问题。

关于PHP 邮件功能有时会起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666791/

相关文章:

android - 如何使用 javamail API 在 android 中发送电子邮件

java - 本地 Google Appengine 上的 JUnit 测试中的电子邮件正文为空

java - 压缩多个 jasper 报告并通过电子邮件发送此 zip

c# - 如何获得任务优先级

php - 使用服务器端脚本 (PHP) 创建 SVG 图形

php - 如何获取某个类别及其子类别(以及子子类别)中所有产品的数量?

perl - Catalyst+Mason+Template::Toolkit 是否值得学习而不是坚持使用 LAMP+Axkit?

permissions - 如何查询Active Directory对象的有效权限?

php - 单元测试和对象继承

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?