mailparse_msg_extract_part_file() does not support file-wrappers as it needs to be able to use seek() on the file.
(PECL mailparse >= 0.9.0)
mailparse_msg_extract_part_file — メッセージセクションを展開/デコードする
$mimemail
, mixed $filename
, callable $callbackfunc
= ?): string指定したファイル名のメッセージセクションを展開/デコードします。
セクションの内容は、transfer encoding に応じて適切にデコードされます。 base64、quoted-printable および uuencode 形式をサポートしています。
mimemail
mailparse_msg_create() で作成した
MIME
リソース。
filename
ファイル名あるいは有効なストリームリソース。
callbackfunc
展開されたセクションに渡されるコールバック関数、あるいは
null
を指定すると、この関数は展開したセクションを返します。
省略した場合は標準出力に出力されます。
callbackfunc
が null
でない場合は、
成功時に true
を返します。
callbackfunc
が null
の場合は、
展開したセクションを文字列で返します。
エラー時には false
を返します。
mailparse_msg_extract_part_file() does not support file-wrappers as it needs to be able to use seek() on the file.
Be aware of "corporate mails" or users who do not understand character encoding too deeply (or do not care). You may (as we did) face mail where the whole mail body is encoded used i.e. Latin2 (and iso-8859-2 is given in multipart's charset header) but at the same time the body also contains text footer with UTF-8 characters in it... Yes, fu*g Microsoft Exchange V6.5 frontent will show that fine on the screen, but if when receive it:
mailparse_msg_extract_part_file() - filter conversion failed. Input message is probably incorrectly encoded in ....
so be extra careful and deal with all the possible errors to avoid mail loss.