0

こんにちは私は私のフォームが電子メールに送信する際の問題を解決しています。エマルに値を送信するためのフォームを作成しました。送信ボタンを押すと、メッセージが送信されたと表示されますが、yahooまたはGmailの電子メールで表示されません。何も受信していません...

これがphpコードを使った私のフォームです:

<?php 
$ToEmail = 'mr_sergios@yahoo.com'; 
$EmailSubject = 'Site contact form'; 
 $mailheader = "From: ".$_POST["email"]."\r\n"; 
 $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
 $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
  mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?>

<?php 
if ($_POST["email"]<>'') { 
$ToEmail = 'mr_sergios@yahoo.com'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?> 
   Your message was sent
      <?php 
   } else { 
  ?> 
    <form action="test.php" method="post">
   <table width="400" border="0" cellspacing="2" cellpadding="0">
  <tr>
     <td width="29%" class="bodytext">Your name:</td>
  <td width="71%"><input name="name" type="text" id="name" size="32"></td>
    </tr>
    <tr>
     <td class="bodytext">Email address:</td>
    <td><input name="email" type="text" id="email" size="32"></td>
     </tr>
      <tr>
   <td class="bodytext">Comment:</td>
        <td><textarea name="comment" cols="45" rows="6" id="comment"  
  class="bodytext">      
   </textarea></td>
  </tr>
  <tr>
   <td class="bodytext"> </td>
    <td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
    </tr>
       </table>
   </form> 
 <?php 
  }; 
  ?>
4

4 に答える 4

0

で正しいSMTP設定が設定されていない可能性がありますphp.inimail()信頼性が高いので、とにかく他のものを使用することをお勧めします。代わりにこのようなものを試してください。

それか、スパムフォルダにたどり着きました。

于 2013-03-09T17:04:11.100 に答える
0

Linuxから送信していますか?はいの/var/log/mail.err場合は、SMTP がエラーをスローするかどうかを確認してください。

Windows の場合、Mercury SMTP などの SMTP サーバーをインストールする必要がある場合があります。

于 2013-03-09T17:05:28.387 に答える
0

PHP Mailer Class の使用を検討したことがありますか?

以下の例は、同じページでそれ自体を送信するフォームです。連絡先ページの一番上に以下を貼り付けてください。クラスをダウンロードして含めます。

require_once('class.phpmailer.php');
$address = "you@youremail.com";
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$subject = htmlspecialchars($_POST['subject']);
$comment = htmlspecialchars($_POST['comment']);

$mail  = new PHPMailer(); // defaults to using php "mail()"
$body = $comment;
$mail->AddReplyTo($email,$name);
$mail->SetFrom($email,$name);
$mail->AddReplyTo($email,$name);
$mail->AddAddress($address, "Your Name");
$mail->Subject = $subject;
$mail->MsgHTML($body);
if(isset($_POST['submit']))
{
$mail->Send();
}
于 2013-03-09T17:10:34.830 に答える
0

このライブラリの使用を検討してください: http://code.google.com/a/apache-extras.org/p/phpmailer/

セットアップと使用は非常に簡単で、エラーが発生した場合の詳細も表示されます。

于 2013-03-09T17:10:42.677 に答える