首页 > 解决方案 > 联系表格 PHP

问题描述

我的网站上有一个联系表。网站发送的每一份新表格都会发送到我的电子邮件contact@xx.com。现在我有一个问题。我的联系表格始终使用 form@xx.com 作为电子邮件的发件人,而不是填写联系表格的人的电子邮件。

我的 Contact.html 与联系表格:

<div class="col-sm-10">
    <div class="input-group">
        <span class='input-group-addon'>
            <i class='fa fa-envelope-o' aria-hidden='true'></i>
        </span>
        <input type="text" class="form-control" 
            id="E-Mail1523703412" 
            name="fields[E-Mail]" 
            placeholder="" 
            data-rule-required="true"
            data-msg-required="This field is required." data-rule-email="true" data-msg-email="Invalid email." 
            style=""/>
    </div>
</div>
</div>
<div class="form-group ">

我的联系脚本:

$email_sent = mail("contact@xx.com", $subject, nl2br($body), "From: form@xx.com
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1");

if( $email_sent ){
$output = array("success" => 1, 
                    "redirect" => 0, 
                    "msg" => "Email sent successfully.",
                    "data" => $data
                );
echo json_encode($output);
            exit;
    } else {$output = array("success" => 0, 
                    "error" => "Email error",
                    "msg" => "Something went wrong, please try again.",
                    "data" => $data
                );
}
?>

我想我必须更改脚本文件中的 form@xx.com,但我不知道我必须使用哪个变量。

标签: phpcontact-form

解决方案


由于垃圾邮件等原因,使用其他人的地址发送电子邮件的疯狂而糟糕的日子已经结束。

仍然from:是您的forms@电子邮件。将reply-to电子邮件设置为提供其地址的人,您可以将姓名设置为他们的姓名。这样您就可以按名称搜索,当您点击回复时,您可以回复提交者。

这是我设置标题的方式

    <?php

    $userName="ivanivan";

    $userEmail="ivanivan@example.com";

    $email_recipient="m.martin@example.com";

    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
    $headers .= "From: ".$userName." <forms@example.com>\r\n";
    $headers .= "Reply-To: ".$userName." <".$userEmail.">\r\n";
    $headers .= "X-Priority: 1\r\n";
    $headers .= "X-MSMail-Priority: High\r\n";
    $headers .= "X-Mailer: php-form2mail-example.com";

    $subject="Demo Message";

    $message_body="This is a demo message";

    mail($email_recipient, $subject, $message_body, $headers);

    ?>

推荐阅读