iconv_mime_encode() 不适合直接编码包含 RFC 1522 s4 & s5 中描述的“特殊字符”的头部,例如
<?php
$mimeprefs = array ("scheme" => "Q",
"input-charset" => "utf-8",
"output-charset" => "utf-8",
"line-break-chars" => "\n");
$enc = iconv_mime_encode('From', '"Réal Namé" <[email protected]>', $prefs);
?>
将错误地尝试编码尖括号。要在 mb_encode_mimeheader() 的位置使用该函数,需要分别对单词进行编码,并删除多余的字段名
<?php
$encoded = "From: \"". preg_replace('/^:\s+/', '', iconv_mime_encode("", $real, $mimeprefs))."\" <$email>";
?>
此外,根据 RFC 1522,大于 76 的 "line-length" 值是非法的,生成的编码词可能无法识别。(未测试,但 72 比较安全。)