0

返信ボタンを押したときに、フォームの送信に使用したメール (someone@gmail.com) ではなく、$email を使用してメールを送信したユーザーに返信できるようにしたいと考えています。名前が正しいだけでなく、電子メール http://oi50.tinypic.com/1z3auc0.jpg 今、これらのコードのビットが機能するはずだと思っていましたが、機能していません! 私は何を間違っていますか?

   $mail->From     = $email;
   $mail->FromName = $name;
   $mail->SetFrom($email, $name);

ここに完全なメーラーがあります。

    $mail = new PHPMailer;
    $mail->IsSMTP();                     // Set mailer to use SMTP
    $mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true;             // Enable SMTP authentication
    $mail->SMTPSecure = 'ssl';          // Enable encryption, 'ssl' also accepted
    $mail->Host = 'smtp.gmail.com';     // Specify main and backup server
    $mail->Port = 465;        // specify port
    $mail->Username = 'someone@gmail.com';      // SMTP username
    $mail->Password = 'password';                    // SMTP password
    $mail->WordWrap = 50;                                 // Set word wrap to 50   
    $mail->IsHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Quick Comment';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';



   // gets info from form
   $name = $_POST['name'] ;
   $email = $_POST['email'] ;
   $phone = $_POST['phone'] ;
   $message = $_POST['message'] ;



    // defines how message looks in email
   $mail->Body="
   Name: $name<br>
   Telephone: $phone<br>
   Email: $email<br>
   -------------------<br>
   Message:<br>
   $message";



    // makes email reply to user
   $mail->From     = $email;
   $mail->FromName = $name;
   $mail->SetFrom($email, $name);
   $mail->AddAddress('someone@gmail.com');  // send to


if(!$mail->Send()) {
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}

echo 'Message has been sent';

?>
4

3 に答える 3

0

ほとんどのメール サーバーでは、"From" ヘッダーにユーザーを配置することは許可されていません。スパムフィルターは嘘に反応するので、これは良いことです。彼らは、あなたが何をしようとも、あなたのメールアドレスを "From" ヘッダーに強制するか、送信を拒否するか、その他のクレイジーなことをします。

「返信先」ヘッダーは、スクリーンショットで正しく設定されているようです。また、メールへの返信を元の送信元とは異なるアドレスに送信するために有効な唯一のヘッダーです。

于 2013-03-27T22:59:54.167 に答える
0

この投稿が役に立つと思います: phpmailer: Reply using only "Reply To" address AddReplyTo() 関数が必要な関数だと思います。

于 2013-03-27T21:08:07.317 に答える
0

何かのようなもの$mail->AddReplyTo('example@example.com', 'Reply to name');

于 2013-03-27T21:09:01.823 に答える