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.