html格式电子邮件“php”;从「;形成

html格式电子邮件“php”;从「;形成,php,html,email,Php,Html,Email,我正在为一个网站写一个html/php电子邮件表单。php工作正常,但在电子邮件标题的“发件人:”字段的电子邮件端看起来像Tomemxample@email.com“当我想让它看起来像”汤姆,example@email.com". 我是新来使用php的,所以我可能缺少一些语法方面的东西 <?php function spamcheck($field) { $field=filter_var($field, FILTER_SANITIZE_EMAIL);

我正在为一个网站写一个html/php电子邮件表单。php工作正常,但在电子邮件标题的“发件人:”字段的电子邮件端看起来像Tomemxample@email.com“当我想让它看起来像”汤姆,example@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.">". "\r\n");
$send=mail($to,$subject,$message,“发件人:”.$name.“\r\n”);

根据RFC 5321和5322,您的请求将形成无效的电子邮件地址-不允许使用逗号或空格


只需在姓名和电子邮件之间添加逗号:)

应该是这样的:

$send = mail($to, $subject, $message, "From: " . $name . "<" . $email . ">");
$send=mail($to,$subject,$message,“From:“.$name.”);
退房

$send = mail($to, $subject, $message, "From: " . $name . "<" . $email . ">");