当前位置: 首页 > 面试题库 >

PHP邮件停止工作

罗业
2023-03-14
问题内容

几天前使用mail()时,它已经正常工作了。

但是现在不起作用了。而且我不知道问题出在哪里。

$to      = 'testmail@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: sender@gmail.com' . "\r\n" .
    'Reply-To: sender@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

$mail_sent = @mail( $to, $subject, $message, $headers ); 
echo $mail_sent ? "Mail sent" : "Mail failed";

它显示“邮件已发送”。

我没有碰过Apache或这段代码中的任何内容。我已经在空PHP文件中测试了代码,结果相同。如何调试此问题?


问题答案:

可能是电子邮件发送正常,但被垃圾邮件过滤器捕获了吗?如果可以的话,请允许我交叉发表自己的看法:

一些要点(假设mail()返回true,并且错误日志中没有错误):

  • 发件人地址(“发件人”)是否属于您服务器上的域?如果不是,请这样做。
  • 您的服务器是否列入黑名单(例如,在spamhaus.org上检查IP)?共享托管的可能性很小。
  • 邮件是否被垃圾邮件过滤器过滤?使用带有垃圾邮件文件夹的freemailer开一个帐户,然后查找。另外,请尝试将邮件发送到没有垃圾邮件过滤器的地址。
  • 您是否可能需要mail()的第五个参数“ -f”添加发件人地址?(请参阅PHP手册中的mail()命令)
  • 如果您有权访问日志文件,请按照上面的建议进行检查。
  • 您是否检查“发件人:”地址中是否存在退回邮件(“退回发件人”)?您也可以设置一个单独的“ errors-to”地址。


 类似资料:
  • 我已经配置了php.ini和sendmail.iniXAMPP发送电子邮件和它的工作罚款。现在,当我改变PHP中的代码使用SMTP它不工作...它使用相同的主机,相同的smtpSecurity,相同的端口,相同的电子邮件作为XAMPP和它不工作... 和我的php代码 错误:服务器-

  • 我创建了2个动态页面,第一个是个人资料页面,第二个是城市页面。这两个页面基本上都是由来自URL的数据的查询提供的。。 我的计划是将和这两个页面的URL重写为和,这样查询就会得到解析,然后显示在一个好看的URL上。 访问者单击链接(不存在的页面) .htaccess重写服务器中的URL并将请求的页转换为 查询返回并显示在上 文件结构: 根 根/CSS 根/包括 奇怪的是,我一打开上的

  • null GrantPermissionRule是否停止了为其他人所宣传的工作?

  • 我正在用Unity 2018.2.2(最新版本于2018年8月8日)开发一款android小游戏。我在这个游戏上工作了几周,但现在,Unity在试图找到我的JDK时毫无理由地失败了。当我分配文件夹时(编辑- [如果您看不到图像:“未能检测到Java版本。Android开发需要JDK 8(1.8)。安装JavaRunatime环境(JRE)是不够的。”] 第一个我想的是,它可能会因为JDK的更新而失

  • 我正在通过conda安装pymc,它告诉我更新一些文件,所以没有问题。然而,在更新后,它给出了一个OSError,现在,我不能访问任何conda构建命令。现在,当我键入任何conda命令时,它会给我

  • 问题内容: 我们的Jenkins构建开始在一夜之间因错误而失败: Jenkins服务器仍在运行Java 6,但我们没有做任何更改。 发生了什么,我们如何解决? 问题答案: 该詹金斯-声纳插件使用声纳Maven的插件来运行声纳分析。 Sonar-maven-plugin已于2015-10-19更新至2.7,新版本与Java 6不兼容。 Jenkins-sonar-plugin默认使用最新版本的son