1
<?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获得了这段代码,它说如果正确配置为发送电子邮件,它将检查我的服务器的配置。

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

请帮我。

4

2 回答 2

2

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

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

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

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

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

于 2012-07-23T01:01:25.813 回答
1
 $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% 的问题出在您的邮件服务器上。在这么多项目中,我都使用过这样的方式,并且效果很好。

于 2013-03-08T10:41:29.620 回答