imap_fetchbody - 编码的正文错误

Kit*_*Kit 5 php android imap

我正在尝试使用以下方法获取电子邮件正文的特定部分:

$message = imap_fetchbody ($imap_stream,$n,1);
Run Code Online (Sandbox Code Playgroud)

这适用于使用Outlook,Hotmail,Yahoo等发送的电子邮件.但是当我尝试获取从Blackberry或Andriod设备发送的电子邮件的正文时,邮件被编码和加扰,例如:

xmb250IHN0eWxlPSdjb2xvcjojRjk3MWIxMDNiMTEyYjExOGI0N2I1MWI1
Run Code Online (Sandbox Code Playgroud)

虽然正文是编码的,但标题很好.如何解码从Android或Blackberry设备发送的电子邮件的邮件正文?

谢谢,

克里斯.

Aar*_* W. 8

您应该能够运行imap_fetchstructure来获取编码值.如果该值等于3,则需要通过imap_base64进行解码.

我之前使用过以下内容(不记得以前是否曾使用发送的移动电子邮件进行过测试):

$structure = imap_fetchstructure($stream, $msgno);
$text = imap_fetchbody($stream, $msgno, $partnum);   
if($structure->encoding == 3) {
    $text = imap_base64($text);
} else if($structure->encoding == 4) {
    $text = imap_qprint($text));
}
Run Code Online (Sandbox Code Playgroud)