php邮件不工作

php邮件不工作,php,Php,php邮件不工作。没有错误消息。php.ini上有显示错误,show E_ALL也打开 <?php $to = "test@abc.com"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $headers = 'From: test@abc.com' . "\r\n" . 'Reply-To: test@abc.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); m

php邮件不工作。没有错误消息。php.ini上有显示错误,show E_ALL也打开

<?php
 $to = "test@abc.com";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";

$headers = 'From: test@abc.com' . "\r\n" .
    'Reply-To: test@abc.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

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

 ?>

首先,检查邮件的返回值

其次,请注意,在Linux服务器上,sendmail_路径是相关的,而在Windows服务器上,它的SMTP和SMTP_端口尝试从另一个应用程序发送电子邮件

第三,根据您使用的SMTP服务器,检查其日志是否存在任何警告或错误,例如无法联系目标服务器、未连接到网络等

第四,如果你已经确定邮件已经成功地离开了你的网络,祈祷一切顺利。说真的,从那时起,你就再也不能为你的电子邮件做任何事情了——如果邮件没有送达,你也无能为力


另外,还可以稍微增加邮件不会被标记为垃圾邮件的可能性。首先,检查邮件的返回值

其次,请注意,在Linux服务器上,sendmail_路径是相关的,而在Windows服务器上,它的SMTP和SMTP_端口尝试从另一个应用程序发送电子邮件

第三,根据您使用的SMTP服务器,检查其日志是否存在任何警告或错误,例如无法联系目标服务器、未连接到网络等

第四,如果你已经确定邮件已经成功地离开了你的网络,祈祷一切顺利。说真的,从那时起,你就再也不能为你的电子邮件做任何事情了——如果邮件没有送达,你也无能为力


另外,您还可以查看“稍微增加您的邮件不会被标记为垃圾邮件的可能性”

非常感谢您的回复。这真的很有帮助。这是一个许可问题

drwxrwx--2 smmsp smmsp 4096十月12日12:00/var/spool/clientmqueue/

改为

drwxrwx--2 apache smmsp 4096 10月12日12:56/var/spool/clientmqueue/


成功了

非常感谢大家的回复。这真的很有帮助。这是一个许可问题

drwxrwx--2 smmsp smmsp 4096十月12日12:00/var/spool/clientmqueue/

改为

drwxrwx--2 apache smmsp 4096 10月12日12:56/var/spool/clientmqueue/


成功了

你怎么知道它不工作呢?我没有收到的电子邮件有一个布尔返回类型。通过检查邮件内容可以判断邮件是否已发送。它不在我的垃圾邮件文件夹中。我确实回显了邮件$to、$subject、$body、$headers;它不返回任何东西你怎么知道它不工作呢?我没有收到电子邮件,邮件的返回类型是布尔型的。通过检查邮件内容可以判断邮件是否已发送。它不在我的垃圾邮件文件夹中。我确实回显了邮件$to、$subject、$body、$headers;它不返回任何值在linux下忽略MTP服务器设置。sendmail的路径必须正确,并且必须安装sendmail。@Alexander Sagen:链接的PHP文档页确实解释了这一点。编辑以澄清。此外,它可以是任何可以冒充sendmail的东西,大多数现代MTA都会从/usr/sbin/sendmail安装指向自己的符号链接。在linux下,SMTP服务器设置会被忽略。sendmail的路径必须正确,并且必须安装sendmail。@Alexander Sagen:链接的PHP文档页确实解释了这一点。编辑以澄清。此外,它可以是任何可以冒充sendmail的东西,大多数现代MTA都会从/usr/sbin/sendmail安装一个指向自己的符号链接。
$sent = mail($to, $subject, $body, $headers);
if (!$sent) {
    // there was some error in the message itself, our MTA rejected it or there's an error in MTA's config
} else {
    // message was accepted for delivery
}