1

フォーム情報が正しい電子メールに送信されるように、このスクリプトを修正する方法を誰か教えてください (つまり、私の電子メール....私の電子メールが username@mydomain.net であると仮定します)。私に送信したユーザーのメールアドレスもメールに表示したいと思います。

<?php
$name = $_POST['fldName'];
$email = $_POST['fldEmail'];
$phone = $_POST['fldPhone'];
$comments = $_POST['fldComments'];
$isFormValid = false; 

if (strlen($name) && strlen($email) && strlen($phone) && strlen($comments)) $isFormValid = true; 

if ($isFormValid) 

{ 


$to      = 'username@mydomain.net'; 
$subject = 'Contact Us Form Comments'; 

$message = 'Name: '.$name."\r\n".'Email: '.$email."\r\n".'Comments: '.$comments; 

$headers = 'From: username@domain.net' . "\r\n" 
         . 'Reply-To: username@mydomain.net' . "\r\n"; 

mail($to, $subject, $message, $headers);

header("location: thankyou.html");

} 
else 
{ 

echo "Please fill in the required fields"; 

} 

?>
4

3 に答える 3

1

ネイティブのPHPmail()を使用してすべてを自分で行うのではなく、swift mailerなどの便利なライブラリを使用することをお勧めします。これにより、内部の動作を気にすることなくメールを簡単に送信できます。

たとえば、迅速なメーラーでメールを送信するには、必要なのはそれだけです。

$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
  ->setUsername('your username')
  ->setPassword('your password');
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('john@doe.com' => 'John Doe'))
  ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
  ->setBody('Here is the message itself');
// Send the message
$result = $mailer->send($message);

迅速なメーラーの詳細については、公式Webサイトhttp://swiftmailer.org/を参照してください。

于 2012-07-25T23:09:27.037 に答える
1

これにより$headers = 'From: username@domain.net' . "\r\n"、メールの送信者が表示されます。スクリプトには既にあります。余分なものを追加する必要はありません

于 2012-07-25T23:15:45.827 に答える
0

変数を変更して、$headers自分のメール アドレスではなく送信者のメール アドレスを使用します。

于 2012-07-25T23:03:17.430 に答える