php - 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 - PHP邮件功能有时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666791/

相关文章:

PHP字符串比较使用 '=='

php - php文件中的nvl()函数

php - 如何合并数组中的匹配字符串?

ruby - 以编程方式将电子邮件转换为 HTML 或 PDF

powershell - 无法在 Powershell 中使用带有管道变量的 -filter 子句运行 Get-CASMailbox

php - 我需要编译我的 php 文件吗?

java - 通过JSON和PHP发送电子邮件后出现NullpointerException

symfony - 带有 Symfony 5 Mailer TLS 的 MailDev 崩溃

java - Exchange Web服务(EWS)或JavaMail Api连接到Outlook Exchange Server-Java

web-services - 交换约会类型