回显成功,但未从远程服务器发送电子邮件


Echoes successful but not sending Email from a remote server

<?php
$msg="";
if(isset($_POST['submit']))
{
    $from_add = "name@your-web-site.com"; 
    $to_add = "receiver@gmail.com"; //<-- I replaced this with my real gmail account
    $subject = "Test Subject";
    $message = "Test Message";
    $headers = "From: $from_add 'r'n";
    $headers .= "Reply-To: $from_add 'r'n";
    $headers .= "Return-Path: $from_add'r'n";
    $headers .= "X-Mailer: PHP 'r'n";

    if(mail($to_add,$subject,$message,$headers)) 
    {
        $msg = "Mail sent OK";
    } 
    else 
    {
       $msg = "Error sending email!";
    }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
    <title>Test form to email</title>
</head>
<body>
<?php echo $msg ?>
<p>
<form action='<?php echo htmlentities($_SERVER['PHP_SELF']); ?>' method='post'>
<input type='submit' name='submit' value='Submit'>
</form>
</p>

</body>
</html>

我从 http://www.html-form-guide.com 那里得到了这段代码,它说它会检查我的服务器的配置,如果它被正确配置为发送电子邮件。

我试过了,我把它上传到我的域,当我打开它时,它显示回显"邮件已发送正常",但我没有收到邮件。

请帮助我。

检查您的服务器是否已设置为发送邮件。

您使用的是什么操作系统,邮件服务器?

在 Linux 上,尝试从命令行运行sendmail

echo 'this is a test'| mail -s test_email user@somedomain.com

要检查的其他事项是php.ini中的邮件设置是否正确,没有防火墙阻止外发邮件,以及电子邮件没有被垃圾邮件过滤器捕获。

 $from_name ="Mahendra";
  $from_mail = "xxxx@gmail.com";
  $to = "xxxx@gmail.com";
  $subject = "Mahendra's Test Mail";
  $mail_body = "This is email test";
  $message = $mail_body ;
  $headers = "MIME-Version: 1.0" . "'r'n";
  $headers .= "Content-type:text/html;charset=UTF-8'r'n";
  $headers .= "From: ".$from_name." <".$from_mail.">'r'n";
  ob_start();
  //$sendmail=mail($to,$subject,$message,$headers);
  if($sendmail)
  {
      echo "Send";
  }
  else
  {
      echo "Not Send";  
   }

试试上面的代码,我确定邮件正在使用上面的代码发送,如果你将使用上面的代码并且你的邮件没有发送。然后100%的问题出在您的邮件服务器中。在很多项目中,我都像这样使用过,它的效果很好。