<?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
,它也回显了“发送的邮件”
但我也无法收到收件箱和垃圾邮件中的电子邮件。
答案 0 :(得分:2)
现在,邮件服务器必须非常非常努力地过滤掉垃圾邮件。它们往往看起来很不利,因为它们显然是手工制作的电子邮件,其中包含与您一样的准系统SMTP标头。
虽然您说您已经检查了“垃圾邮件”框,但这种机制通常比较低级别工作,只需在任何SMTP服务器途中完全拒绝电子邮件,在它到达您的帐户和贝叶斯/基于内容的过滤之前。这也对mail
的返回值没有影响,{{1}}只是确认邮件已发送到本地假脱机程序。
我建议使用一个完全成熟的SMTP库(例如 PHPMailer ),它知道所有正确的标题用于“看起来像”一个正确的电子邮件。
答案 1 :(得分:1)
最佳解决方案是使用PHPMailer
等电子邮件库,并通过真实的SMTP服务器发送电子邮件。
邮件配置可能有问题。如果您使用PHPMailer,它将处理所有问题。
答案 2 :(得分:1)
检查垃圾邮件中的邮件。
在许多情况下,如果邮件服务器不信任域服务器,则邮件会到达那里。 因此,您需要使用邮件库或使用 SMTP配置。