我正在为一个网站编写一个html/php电子邮件表单。php 工作正常,但是在电子邮件标题的"发件人:"字段的电子邮件方面,当我希望它看起来像"汤姆,example@email.com"时,它看起来像"Tomemxample@email.com"。我是使用 php 的新手,所以我可能会缺少一些语法方面的内容。
<?php
function spamcheck($field) {
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
if(filter_var($field, FILTER_SANITIZE_EMAIL)) {
return TRUE;
} else {
return FALSE;
}
}
$name = test_input($_POST['name']);
$email = test_input($_POST['email']);
$subject = test_input($_POST['subject']);
$message = test_input($_POST['message']);
$to = "email goes here";
$send = mail($to, $subject, $message, "From: " .$name .$email);
if ($send) {
header ("Location: http:// refreshes the page");
} else {
echo "The form could not be sent, please contact me at: email goes here";
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
只需在姓名和电子邮件之间添加逗号:)
$send = mail($to, $subject, $message, "From: " . $name . ", " . $email);
应该是这样的:
$send = mail($to, $subject, $message, "From: " . $name . "<" . $email . ">");
退房
http://php.net/manual/en/function.mail.php
将电子邮件地址放在"<"和">"之间,如下所示:
$send = mail($to, $subject, $message, "From:". $name ."<".$email.">". "rn");
根据 RFC 5321 和 5322,您询问的内容将形成无效的电子邮件地址 - 不允许使用逗号或空格。
RFC5321
RFC5322