大家晚上好!
我一直在用PHP编写我自己的电子邮件程序以获得乐趣。我尝试从我的电子邮件地址下载所有附件,但有些文件的名称类似于
ISO-8859-15 '' %46%6C%79%65%72%20%53%61%69%73%6F 6E%%65%72%F6%66
要解码标题,请使用此函数:
private function imap_header_decode($text) {
$ret = "";
$elements = imap_mime_header_decode($text);
for($i = 0; $i < count($elements); $i++) {
$ret .= utf8_decode($elements[$i]->text);
}
return $ret;
}
标题正确解密,而文件名则没有。可能是什么问题或更好,我该如何解决?
编辑:我使用php中的imap_函数来完成所有邮件事务(使用带有ssl的pop3)答案 0 :(得分:1)
答案 1 :(得分:1)
rawurldecode()
不会将加符号('+')解码为空格。urldecode()
确实如此。