我如何测试sendmail/php为什么不';不行吗?

我如何测试sendmail/php为什么不';不行吗?,php,sendmail,Php,Sendmail,我已经正确配置了php.ini,我想 ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = /usr/sbin/sendmail -t -i php总体上运行良好。phpinfo()看起来不错 我有一个用于发送测试消息的脚本,它声称可以工作 <?php ini_set( 'display_

我已经正确配置了php.ini,我想

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i 
php总体上运行良好。phpinfo()看起来不错

我有一个用于发送测试消息的脚本,它声称可以工作

<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = "notarealaddy@domain.com";
$to = "myactualemail@gmail.com";
$subject = "PHP Mail Test script";
$message = "This is a test to check the PHP Mail functionality";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo "Test email sent";
?>

我总是收到一条信息:“发送测试电子邮件”

但是gmail中从来没有出现过任何东西??给出了什么,我应该如何排除故障?

尝试以下方法:

if(mail($to,$subject,$message, $headers))
{
echo "Test email sent";
}
这将检查邮件是否已发送,如果已发送,它将回显“已发送测试电子邮件”。

尝试以下操作:

if(mail($to,$subject,$message, $headers))
{
echo "Test email sent";
}
这将检查邮件是否已发送,如果已发送,它将回显“已发送测试电子邮件”。

尝试以下操作:

if(mail($to,$subject,$message, $headers))
{
echo "Test email sent";
}
这将检查邮件是否已发送,如果已发送,它将回显“已发送测试电子邮件”。

尝试以下操作:

if(mail($to,$subject,$message, $headers))
{
echo "Test email sent";
}
这将检查邮件是否已发送,如果已发送,它将回显“Test email sent”。

mail()是布尔函数

$check = mail($to,$subject,$message, $headers);
var_dump($check);
var_dump将返回true或false

如果为false,则说明配置或代码有问题

但是,为了简单地调试mail()函数,我需要知道,您的操作系统是什么?您使用哪种类型的web服务器?

mail()是布尔函数

$check = mail($to,$subject,$message, $headers);
var_dump($check);
var_dump将返回true或false

如果为false,则说明配置或代码有问题

但是,为了简单地调试mail()函数,我需要知道,您的操作系统是什么?您使用哪种类型的web服务器?

mail()是布尔函数

$check = mail($to,$subject,$message, $headers);
var_dump($check);
var_dump将返回true或false

如果为false,则说明配置或代码有问题

但是,为了简单地调试mail()函数,我需要知道,您的操作系统是什么?您使用哪种类型的web服务器?

mail()是布尔函数

$check = mail($to,$subject,$message, $headers);
var_dump($check);
var_dump将返回true或false

如果为false,则说明配置或代码有问题


但是,为了简单地调试mail()函数,我需要知道,您的操作系统是什么?您使用哪种类型的web服务器?

首先也是最快的:检查您的垃圾邮件文件夹。Gmail倾向于过滤掉不是来自成熟邮件服务器的邮件

其次,检查发送电子邮件的服务器上的sendmail日志。日志应告诉您接收SMTP服务器是否已接受邮件


mail
函数返回成功仅意味着本地sendmail脚本接受了电子邮件,而不一定是电子邮件已发送。

第一个也是最快的:检查垃圾邮件文件夹。Gmail倾向于过滤掉不是来自成熟邮件服务器的邮件

其次,检查发送电子邮件的服务器上的sendmail日志。日志应告诉您接收SMTP服务器是否已接受邮件


mail
函数返回成功仅意味着本地sendmail脚本接受了电子邮件,而不一定是电子邮件已发送。

第一个也是最快的:检查垃圾邮件文件夹。Gmail倾向于过滤掉不是来自成熟邮件服务器的邮件

其次,检查发送电子邮件的服务器上的sendmail日志。日志应告诉您接收SMTP服务器是否已接受邮件


mail
函数返回成功仅意味着本地sendmail脚本接受了电子邮件,而不一定是电子邮件已发送。

第一个也是最快的:检查垃圾邮件文件夹。Gmail倾向于过滤掉不是来自成熟邮件服务器的邮件

其次,检查发送电子邮件的服务器上的sendmail日志。日志应告诉您接收SMTP服务器是否已接受邮件


mail
函数返回成功仅意味着本地sendmail脚本接受了电子邮件,而不一定是电子邮件已发送。

如果使用联系人表单,请仔细检查变量。在您的情况下,它们是硬编码的,但执行检查总是好的。这是一个简化的检查器。(我编辑了对应该随消息一起发送的变量的检查)

if(邮件($to、$subject、$body、$headers)){
回显“消息发送。

”; }否则{ echo“出现了问题,没有交付。

”; }
如果使用联系人表单,请仔细检查变量。在您的情况下,它们是硬编码的,但执行检查总是好的。这是一个简化的检查器。(我编辑了对应该随消息一起发送的变量的检查)

if(邮件($to、$subject、$body、$headers)){
回显“消息发送。

”; }否则{ echo“出现了问题,没有交付。

”; }
如果使用联系人表单,请仔细检查变量。在您的情况下,它们是硬编码的,但执行检查总是好的。这是一个简化的检查器。(我编辑了对应该随消息一起发送的变量的检查)

if(邮件($to、$subject、$body、$headers)){
回显“消息发送。

”; }否则{ echo“出现了问题,没有交付。

”; }
如果使用联系人表单,请仔细检查变量。在您的情况下,它们是硬编码的,但执行检查总是好的。这是一个简化的检查器。(我编辑了对应该随消息一起发送的变量的检查)

if(邮件($to、$subject、$body、$headers)){
回显“消息发送。

”; }否则{ echo“出现了问题,没有交付。

”; }
实际上,您不会在语句中生成检查是否已发送的语句。您只需回显
测试发送的电子邮件
(顺便说一句,它是发送的)。你应该为它做一个if-else语句。实际上,你没有在语句中构建一个检查它是否发送的语句。您只需回显
测试发送的电子邮件
(顺便说一句,它是发送的)。你应该为它做一个if-else语句。实际上,你没有在语句中构建一个检查它是否正确的语句