Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用mail()PHP时如何检查邮件发送成功与否?_Php_Email - Fatal编程技术网

使用mail()PHP时如何检查邮件发送成功与否?

使用mail()PHP时如何检查邮件发送成功与否?,php,email,Php,Email,使用mail()PHP时如何检查邮件发送成功与否 我使用此代码向用户发送邮件,但我想知道如何在此代码上检查发送邮件状态是否成功 <?PHP include("connect.php"); $to = "test@example.com"; $subject = "Subject"; $message = "Message"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/htm

使用mail()PHP时如何检查邮件发送成功与否

我使用此代码向用户发送邮件,但我想知道如何在此代码上检查发送邮件状态是否成功

<?PHP
include("connect.php");
$to      = "test@example.com";
$subject = "Subject";
$message = "Message";
$headers  = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: EXMAPLE <noreply@example.com>' . "\r\n";
$headers .= 'Return-Path: return@example.com' . "\r\n";
mail($to, $subject, $message, $headers, '-freturn@example.com');
?>

mail()
返回布尔值,具体取决于邮件是否已成功接受发送。添加
if
条件,检查
mail()
是否返回
TRUE
FALSE
,如下所示

if(mail($to, $subject, $message, $headers, '-freturn@example.com'))
  echo "Success";   // on TRUE
else
  echo "fail";     // on FALSE
mail()
返回布尔值,具体取决于邮件是否已成功接收以进行传递。添加
if
条件,检查
mail()
是否返回
TRUE
FALSE
,如下所示

if(mail($to, $subject, $message, $headers, '-freturn@example.com'))
  echo "Success";   // on TRUE
else
  echo "fail";     // on FALSE
这应该做你想要的工作


这应该可以做你想要的工作。

类似的事情

if(@mail($emailRecipient, $subject, $message, $headers))
    {
      echo "Mail Sent Successfully";
    }else{
      echo "Mail Not Sent";
    }

如果邮件已成功接受传递,则返回TRUE,返回FALSE 否则

重要的是要注意,仅仅因为邮件被接受 但这并不意味着邮件将实际到达预定的目的地 目的地


像这样的

if(@mail($emailRecipient, $subject, $message, $headers))
    {
      echo "Mail Sent Successfully";
    }else{
      echo "Mail Not Sent";
    }

如果邮件已成功接受传递,则返回TRUE,返回FALSE 否则

重要的是要注意,仅仅因为邮件被接受 但这并不意味着邮件将实际到达预定的目的地 目的地

请像这样试试

<?PHP
include("connect.php");
$to      = "test@example.com";
$subject = "Subject";
$message = "Message";
$headers  = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: EXMAPLE <noreply@example.com>' . "\r\n";
$headers .= 'Return-Path: return@example.com' . "\r\n";
if(mail($to, $subject, $message, $headers, '-freturn@example.com')) {
   echo "Your mail sent successfully";
} else {
   echo "Your mail was not sent something wrong";
}
?>

请像这样尝试

<?PHP
include("connect.php");
$to      = "test@example.com";
$subject = "Subject";
$message = "Message";
$headers  = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: EXMAPLE <noreply@example.com>' . "\r\n";
$headers .= 'Return-Path: return@example.com' . "\r\n";
if(mail($to, $subject, $message, $headers, '-freturn@example.com')) {
   echo "Your mail sent successfully";
} else {
   echo "Your mail was not sent something wrong";
}
?>


如果邮件被成功接受交付,则手册中的
返回TRUE,否则返回FALSE。
因此您可以简单地执行
如果
如何获取返回值?如果邮件被成功接受交付,则手册中的
返回TRUE,否则为FALSE。
因此,如果
如何获取返回值,您可以简单地执行一个
操作?这并不总是有效的。您还必须设置
sendmail
。否则,它总是打印成功,而你没有收到任何电子邮件。这并不总是有效的。您还必须设置
sendmail
。否则它总是打印成功,而你没有收到任何电子邮件