有人可以告诉我如何修复此脚本,以便将表单信息发送到正确的电子邮件(即,我的电子邮件....我假设我的电子邮件是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";
}
?>
答案 0 :(得分:1)
而不是使用本机PHP mail()自己做所有事情,最好使用一些有用的库,如swift邮件程序,这使您更容易发送邮件而不必担心内部工作。< / p>
例如,您需要在swift邮件程序中发送邮件。
$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);
您可以在官方网站http://swiftmailer.org/
中找到有关swift邮件程序的更多信息答案 1 :(得分:1)
此$headers = 'From: username@domain.net' . "\r\n"
会显示向您发送电子邮件的人。它已经在你的脚本中了。您无需添加任何额外的内容
答案 2 :(得分:0)
更改$headers
变量以使用发件人的电子邮件地址而不是您自己的电子邮件地址。