Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';我不明白为什么SMTP电子邮件不适用于它所在的同一个域';是从哪里寄来的_Php_Email_Smtp - Fatal编程技术网

Php Can';我不明白为什么SMTP电子邮件不适用于它所在的同一个域';是从哪里寄来的

Php Can';我不明白为什么SMTP电子邮件不适用于它所在的同一个域';是从哪里寄来的,php,email,smtp,Php,Email,Smtp,我有一个PHP客户输入表单,它向托管表单的公司发送SMTP邮件。由于某些原因,电子邮件没有到达收件人的电子邮件。如果我在域名以外的任何其他电子邮件地址中进行替换,则效果良好。我还可以在“收件人:行”上列出多个地址,其他人将收到电子邮件,但不会收到所需的info@email地址。我无法更改发送域,因为当它们不匹配时,我的web主机不会发送邮件。我认为这可能与发送电子邮件地址和接收相同有关,因此我将地址从:改为“onlineform”,而不是“info”,但这没有什么区别 我对这里发生的事感到困惑。

我有一个PHP客户输入表单,它向托管表单的公司发送SMTP邮件。由于某些原因,电子邮件没有到达收件人的电子邮件。如果我在域名以外的任何其他电子邮件地址中进行替换,则效果良好。我还可以在“收件人:行”上列出多个地址,其他人将收到电子邮件,但不会收到所需的info@email地址。我无法更改发送域,因为当它们不匹配时,我的web主机不会发送邮件。我认为这可能与发送电子邮件地址和接收相同有关,因此我将地址从:改为“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);
?>

这可能与服务器的邮件策略有关。您可能正在告诉服务器消息是从服务器发送的whatever@domain.tld,但你并没有证明这一点

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

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