mailparse_msg_extract_part_file() 不支持文件包装器,因为它需要能够在文件上使用 seek()。
(PECL mailparse >= 0.9.0)
mailparse_msg_extract_part_file — 提取/解码邮件部分
从提供的文件名中提取/解码邮件部分。
该部分的内容将根据其传输编码进行解码 - 支持base64、quoted-printable和uuencoded文本。
mimemail
一个有效的MIME
资源,由mailparse_msg_create()创建。
filename
可以是文件名或有效的流资源。
callbackfunc
如果设置,则必须是有效的回调函数,该函数将被传递提取的部分,或者为null
以使此函数返回提取的部分。
如果未指定,则内容将发送到“标准输出”。
注意“公司邮件”或那些对字符编码不甚了解(或不在乎)的用户。您可能会(就像我们一样)遇到整个邮件正文使用例如Latin2编码的邮件(并且multipart的charset头中给出了iso-8859-2),但同时正文中也包含使用UTF-8字符的文本页脚……是的,fu*g Microsoft Exchange V6.5前端会在屏幕上很好地显示出来,但是当接收时
mailparse_msg_extract_part_file() - 过滤器转换失败。输入邮件可能编码错误……
所以要格外小心,处理所有可能的错误以避免邮件丢失。