繁体   English   中英

邮件已发送,但收件箱中未收到

[英]Mail sent , But not receiving in mail inbox

<?php
$to="emailid@domain.com";
$subject="A subject";
$message="this is a message for u AAAAAA";
$from="myemailid@domain.com";
$header="from:".$from;
if($mailInfo=mail($to,$subject,$message,$header)){
echo $mailInfo;
echo "\n mail sent";
}
else{echo "mail not sent";}
?>

//Output   1
//         mail sent 

$mailInfo的输出产生1 ,并且也回显“已发送邮件”,但我也无法在收件箱和垃圾邮件中接收电子邮件。

如今,邮件服务器必须非常非常努力地过滤掉垃圾邮件。 在带有准SMTP标题的明显手工制作的电子邮件上,它们通常看起来像是不利的。

尽管您说您已经选中了“垃圾邮件”框,但该机制通常在较低的级别上起作用,只是在途中在任何SMTP服务器上直接拒绝电子邮件,而这早于邮件到达您的帐户和贝叶斯/内容-基于过滤。 这也对mail的返回值没有影响,后者只是确认邮件已发送到本地后台处理程序。

我建议使用成熟的SMTP库(例如PHPMailer ),该库知道所有正确的标头,可用于“看起来”适当的电子邮件。

最好的解决方案是使用类似PHPMailer的电子邮件库,并通过真实的SMTP服务器发送电子邮件。

邮件配置可能存在问题。 如果使用PHPMailer,它将处理所有问题。

检查垃圾邮件中的邮件。

在很多情况下,如果域服务器不受邮件服务器的信任,邮件将到达那里。 因此,您需要使用邮件库或使用SMTP配置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM