无法弄清楚为什么SMTP电子邮件不能发送到它发送的同一个域

时间:2013-05-04 15:55:15

标签: php email smtp

我有一个PHP客户输入表单,它将SMTP邮件发送给托管表单的公司。由于某种原因,电子邮件没有到达收件人的电子邮件。如果我替换任何其他电子邮件地址而不是域名,它可以正常工作。我还可以在“收件人:”行中列出多个地址,其他人将收到电子邮件,但不会收到所需的信息@电子邮件地址。我无法更改发送域名,因为我的网站托管在不匹配时不会发送邮件。我认为它可能与发送电子邮件地址和接收相同,所以我将From:地址更改为“onlineform @”而不是“info @”,但这没有任何区别。

我很困惑这里发生了什么。我可以直接从任何其他帐户发送电子邮件到“info @”电子邮件地址,这很好。我已经让他们检查他们的客户端服务器垃圾邮件文件夹,他们都很干净。有关正在发生的事情或如何进一步诊断问题的任何想法?我已经将代码简化为下面的相关部分,并且代码段代码执行相同的操作。

<?php
$email_to = "info@domain.tld";
$email_subject = "Subject line here";
$email_message = "Email body here.";

$headers = 'From: onlineform@domain.tld'."\r\n".
'Reply-To: noreply@domain.tld'."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

1 个答案:

答案 0 :(得分:0)

它可能与服务器的邮件策略有关。您可能告知服务器该消息是从whatever@domain.tld发送的,但您不是证明它。

您是否尝试使用SMTP身份验证发送?不确定这实际上是真正的问题,但值得测试。

另外,我建议您 始终 使用邮件解决方案而不是使用普通的php mail()函数。我已经使用PHP Mailer很长一段时间了,它不仅工作正常,它总是缓解了通过php发送电子邮件的无聊过程。