2

私のウェブサイトには、ユーザーがバグを報告したり、機能のリクエストを送信したりできるお問い合わせフォームがあります。フォームには件名メッセージが含まれています。

PHPMailerまたはPHPの組み込みメール機能を使用して、フォームから直接メールを送信したいと思います。

ここでの問題は、電子メールを生成するときに、送信者は実際のユーザーの電子メールアドレスではなく、私が所有するアドレスでなければならないということです。他の人になりすますことは許されるべきではないので、この理由は明らかです。ただし、受信トレイから直接ユーザーにメールを送信できるようにしたいのですが、スクリプトでユーザーのアドレスを使用して自分自身にメールを送信することはできないため、これはできません。

それでは、お問い合わせフォームを作成するための最良の方法は何ですか?私が考えることができる唯一の回避策は、メッセージと送信者アドレスをデータベースに挿入し、そこから手動で読み取ることです....非常に面倒です。

何か提案をいただければ幸いです。

4

3 に答える 3

3

電子メールヘッダーを設定するReply-Toと、次のようになります。

<?php
$headers = 'From: you@example.com' . "\r\n";
// Set the sender address as Reply-to below
$headers .= 'Reply-To: sender@example.com' . "\r\n";

mail('you@example.com', 'Subject here', 'The message goes here', $headers);
?>

このようにすると、あなたが送信者になりますが、メールクライアントの返信ボタンを押すと、デフォルトでReply-Toヘッダーにリストされているアドレスに返信します。

于 2012-12-02T11:38:21.653 に答える
0

センターはなぜあなたが所有する住所でなければならないのですか?

SMTPは、ユーザーが送信者として提供する電子メールを提供することを禁止しません。SMTPサーバーがそこから中継できる限り、送信者と受信者にとって任意の値を取ります。

もう1つのオプションは、送信者の電子メール(contact-form@yourdomain.com)を作成し、[返信先]フィールドをユーザーの電子メールアドレスに設定することです。

于 2012-12-02T11:37:59.657 に答える
0

以下のコードを使用して、所有しているアドレスからメールを受信できますが、返信するとユーザーのメールに送信されます

<?php
$to      = 'youremail@yourdomain.com';
$subject = 'the subject';
$message = 'message';
$headers = 'From: youremail@yourdomain.com' . "\r\n" .
'Reply-To: user@useremail.com' . "\r\n" .
mail($to, $subject, $message, $headers);
?>
于 2012-12-02T11:43:42.463 に答える