【问题标题】:PHP Form - BCC not receiving emailsPHP 表单 - BCC 未收到电子邮件
【发布时间】:2014-03-13 17:15:22
【问题描述】:

我正在尝试以我的 PHP 表单密件抄送一封电子邮件。出于某种原因,以下代码不会将表单发送到密件抄送地址:

$headers = "From: " . strip_tags($from) . "\r\n" . "BCC:test@test.com";
$headers .= "Reply-To: ". strip_tags($from) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

除了密件抄送未收到电子邮件外,该表单有效。对于密件抄送部分,我在以下位置使用了公认的答案: Add BCC field to a php contact form

感谢任何帮助。

【问题讨论】:

    标签: php forms formmail


    【解决方案1】:

    您的密件抄送未由\r\n 分隔,因此回复标头与密件抄送值相连(使其无效)。

    邮件服务器将 BCC 标头视为:

    BCC:test@test.comReply-to: xxx@example.com
    

    改为:

    $headers = "From: " . strip_tags($from) . "\r\n" . "BCC:test@test.com\r\n";
    

    旁注:strip_tags() 不足以防止标头注入攻击。您必须正确验证发件人电子邮件地址。

    【讨论】:

    • 感谢 MRCode - BCC 字段现在可以使用。你能指点我关于电子邮件地址验证的任何教程吗?
    • PHP5 内置了使用filter_var 的电子邮件验证。见uk3.php.net/filter_var
    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 2010-12-09
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多