2016-06-23 7 views
1

私のサイトの顧客がフォームに記入すると、私は受け取ったフォームに顧客が入力したものを表示するのではなく、 "[email protected]"と入力します。私はこれを修正して、顧客がフォームに入力した電子メールに直接返信できるようにしたいと考えています。ここで私のcontact.phpは以下のようになります。私のPHPの連絡先フォームに自分のメールヘッダーを修正する方法

<?php 
// variables start 
$name = ""; 
$email = ""; 
$message = ""; 

$name = trim($_POST['contactNameField']); 
$email = trim($_POST['contactEmailField']); 
$message = trim($_POST['contactMessageTextarea']); 
// variables end 

// email address starts 
$emailAddress = '[email protected]'; 
// email address ends 

$subject = "mydomain.com | Mobile - Message From: $name"; 
$message = "<strong>From:</strong> $name <br/> <strong>E-Mail:</strong> $email </br><br/> <strong>Message:</strong> $message"; 

$headers = 'From: '. $name . '<' . $email . '>' . "\r\n"; 
$headers = 'Reply-To: ' . $email . "\r\n"; 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

//send email function starts 
mail($emailAddress, $subject, $message, $headers); 
//send email function ends 
?> 
+0

MYDOMAIN @情報だけ公開フォーラムに私の実際の電子メールを投稿したくなかった私の実際の電子メールに置き換えられました。 – user6505472

+1

あなたは間違いなくあなたの入力を浄化**する必要があります。つまり、悪意のある入力や誤った入力をフィルタリングする何かをしてください。たとえば、このフォームでは、名前や電子メールアドレスに改行を挿入するだけで、誰でも追加のメールヘッダーを挿入することができます。また、楽しみのためにも見てください:https://xkcd.com/327/ –

+0

(また、「こんにちは」や「ありがとう」と言う必要はなく、ちょっと気を散らしています)私はあなたの質問からそれらの文章を編集しました。 ) –

答えて

0

変数に代入(例えば$headers = …変更その値ではなく、それにINGのアペンドを。あなたが最初の変数を初期化した後、オペレータ.=を使用する必要があります。

$headers = ""; 
$headers .= 'From' . $name . … 

など

+0

私はかなり新しいphpにあなたは私に何を変更すると思いますかの正確なコードを与えることができますか? =の代わりに。=を追加するだけで修正できますか? – user6505472

+0

'='に '。='を変更するだけで、文字列の末尾に '$ headers'だけが表示されます。 –

+0

実際、 '$ headers。=" something "は、' $ headers = $ headers 'と言うより短い方法です。 "何か"。 –

関連する問題