HTML 表单电子邮件 PHP "From"形成



我正在为一个网站编写一个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

最新更新