邮件发送,但没有收到邮件收件箱

时间:2013-12-13 12:47:44

标签: php sendmail

<?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,它也回显了“发送的邮件” 但我也无法收到收件箱和垃圾邮件中的电子邮件。

3 个答案:

答案 0 :(得分:2)

现在,邮件服务器必须非常非常努力地过滤掉垃圾邮件。它们往往看起来很不利,因为它们显然是手工制作的电子邮件,其中包含与您一样的准系统SMTP标头。

虽然您说您已经检查了“垃圾邮件”框,但这种机制通常比较低级别工作,只需在任何SMTP服务器途中完全拒绝电子邮件,在它到达您的帐户和贝叶斯/基于内容的过滤之前。这也对mail的返回值没有影响,{{1}}只是确认邮件已发送到本地假脱机程序。

我建议使用一个完全成熟的SMTP库(例如 PHPMailer ),它知道所有正确的标题用于“看起来像”一个正确的电子邮件。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

检查垃圾邮件中的邮件。

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