PHP括号中的电子邮件验证器(表单)

时间:2014-06-03 16:56:23

标签: php html validation email

我需要第一个$ header行的帮助。 我需要看起来像这样:

name <email>

实际上

$field_name <$field_email>

它应该通过电子邮件客户端中的电子邮件显示

Personname <person@emailaddress.com

我怎样才能做到这一点?

<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];
$field_phone = $_POST['cf_phone'];

$mail_to = 'from@email.com';
$subject = 'Enquiry from Website, From: '.$field_name;

$body_message = 'Enquiry submitted to business, via website contact form.';
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Telephone Number: '.$field_phone."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '$field_name' <'$field_email'>'"\n";
$headers .= 'Reply-To: '.$field_email.;

$mail_status = mail($mail_to, $subject, $body_message, $headers);
include 'contactendd.php';

if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
    window.location = 'thanks.html';
</script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
    window.location = 'thanksfailed.html';
    </script>
<?php
}
?>

非常感谢你的帮助

2 个答案:

答案 0 :(得分:0)

这条线是正确的想法:

$headers = 'From: '$field_name' <'$field_email'>'"\n";

但应该阅读

$headers = 'From: ' . $field_name . ' <' . $field_email . '>\n';

错过了连接的时间段

答案 1 :(得分:0)

标题应由CRLF "\r\n"分隔 - 而不只是\n