gpt4 book ai didi

PHP 邮件标题 "base64 encoded unnecessarily"

转载 作者:行者123 更新时间:2023-12-04 18:10:45 26 4
gpt4 key购买 nike

我有什么:

我正在使用 PHP 邮件功能发送电子邮件。我的标题如下:

    <?php
$headers = "MIME-Version: 1.0\r\n"
."Content-Type: text/plain; charset=utf-8\r\n"
."Content-Transfer-Encoding: 8bit\r\n"
."From: =?UTF-8?B?". base64_encode($from_name)
."?= <$from_address>\r\n"
."X-Mailer: PHP/". phpversion();
mail($to, $subject, $body, $headers, "-f $from_address");
?>

此代码来自公认的 stackoverflow 答案:https://stackoverflow.com/a/2801159/835950

我的问题:

Spam Assassin 因以下原因应用 0.1 惩罚:

0.1 FROM_EXCESS_BASE64 From: base64 encoded unnecessarily

我的问题:

我应该如何修改我的 header 以避免这种惩罚。我是否只是删除 base64_encode 函数?

最佳答案

您需要检测是否真正需要使用 base64 编码的 UTF-8,或者是否所有字符都在 ASCII 范围内。这有点难看但有效:

<?php
$headers = "MIME-Version: 1.0\r\n"
."Content-Type: text/plain; charset=utf-8\r\n"
."Content-Transfer-Encoding: 8bit\r\n"
."From: ".(preg_match('/[^\x20-\x7f]/', $from_name)?
"=?UTF-8?B?". base64_encode($from_name) ."?=" : $from_name )
." <$from_address>\r\n"
."X-Mailer: PHP/". phpversion();
mail($to, $subject, $body, $headers, "-f $from_address");
?>

或者,您可以使用 mb_check_encoding 检测字符集, 但此正则表达式使其简短。

关于PHP 邮件标题 "base64 encoded unnecessarily",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com