-2

HTML フォームが送信されたときに、PHP を使用してメールを送信したいと考えています。

チュートリアルに習ってこのPHPスクリプトを作ったのですが、Webメールで確認すると、メールアドレスと件名とメッセージしか表示されず、名前が表示されません。名前を表示するにはどうすればよいですか?

フォーム変数:

if (empty($_POST) === false) {
    $errors = array();
    $name = trim($_POST["name"]);
    $email = trim($_POST["email"]);
    $subject = trim($_POST["subject"]);
    $message = trim($_POST["message"]);
    $answerbox = trim($_POST["answerbox"]); 

 // ... etc (validation)

if (empty($errors) === true) {
    $headers =  'From: '.$email. "\r\n" . $name.
    'Reply-To: '.$email . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
    mail('mail@example.com',$subject,$message,$headers);
    print "<p class='formerrors'>Thank you for your message, I'll get back to you shortly!</p>";
}
4

3 に答える 3

1

「From」ヘッダーの形式が正しくありません。次の形式にする必要があります。

"From: Sender Name <sender@domain.com>"

したがって、$headers割り当ては次のようになります。

$headers =  'From: '.$name.' <'.$email. ">\r\n" .
            'Reply-To: '.$email . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
于 2013-10-27T07:38:10.367 に答える
0

さらに、PHPMailer を参照してください。https://github.com/PHPMailer/PHPMailerは、メールを充実させるのに興味深いものです。

于 2013-10-27T08:12:45.413 に答える