我正在尝试使用以下方式获取电子邮件正文的特定部分:
$message = imap_fetchbody ($imap_stream,$n,1);
这适用于使用Outlook,Hotmail,Yahoo等发送的电子邮件。但是当我尝试获取从Blackberry或Andriod设备发送的电子邮件的正文时,邮件会被编码并加扰,例如:
xmb250IHN0eWxlPSdjb2xvcjojRjk3MWIxMDNiMTEyYjExOGI0N2I1MWI1
虽然正文是编码的,但标题很好。 如何解码从Android或Blackberry设备发送的电子邮件的邮件正文?
谢谢,
克里斯。
答案 0 :(得分: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));
}