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から取得しました。サーバーがメールを送信するように正しく構成されているかどうかを確認すると言っています。

試してみて、自分のドメインにアップロードし、開くと「Mail sent OK」というエコーが表示されますが、メールが届きません。

私を助けてください。

4

2 に答える 2

2

サーバーがメールを送信するように設定されていることを確認してください。

どのOS、メールサーバーを使用していますか?

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 に答える