第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用PHP的imap_fetchstructure獲取郵件傳輸編碼encoding與實際不符

使用PHP的imap_fetchstructure獲取郵件傳輸編碼encoding與實際不符

PHP
手掌心 2019-03-06 12:59:19
【遇到的問題】 嘗試使用 PHP 的 imap_fetchstructure 函數(shù)來獲取郵件內(nèi)容傳輸編碼的 encoding,以便進(jìn)行對應(yīng)的解碼操作。可是測試了一下發(fā)現(xiàn),返回的 encoding 代表值卻并不總與實際的編碼相符,比如—— 該郵件實際使用的是 Base64 編碼,預(yù)期的函數(shù) encoding 返回值應(yīng)該是3,而實際返回值卻為0(7bit)。 該郵件實際使用的是 Quoted-Printable 編碼,預(yù)期的函數(shù) encoding 返回值應(yīng)該是4,而實際返回值卻為0(7bit)。 【相關(guān)代碼】 function retrieve_message($auth_user,$accountid,$messageid,$fullheaders){ $message=array(); if(!($auth_user && $accountid && $messageid)){ return false; } $imap=open_mailbox($auth_user,$accountid); if(!$imap){ return false; } /* header部分代碼省略 */ $structure=imap_fetchstructure($imap,$messageid); $encoding=$structure->encoding; $message['body']=imap_body($imap,$messageid); if(!$message['body']){ $message['body']='[This message has no body.]'; } if(($encoding==3) || stristr($message['body'],'Content-Transfer-Encoding: base64')){ $message['body']=base64_decode($message['body']); if(is_gbk($message['body'])){ $message['body']=iconv('gbk','utf-8',$message['body']); } } elseif(($encoding==4) || stristr($message['body'],'Content-Transfer-Encoding: quoted-printable')){ $message['body']=quoted_printable_decode($message['body']); if(is_gbk($message['body'])){ $message['body']=iconv('gbk','utf-8',$message['body']); } } imap_close($imap); return $message; } 【進(jìn)行過的嘗試】 在網(wǎng)上搜索了很久,沒找到特別明確的答案,只看到有些文章里提到對于一個復(fù)雜郵件可以有多個 parts,而主內(nèi)容一般在 parts[1],于是添加了如下判斷—— if(isset($structure->parts) && is_array($structure->parts) && isset($structure->parts[1])){ $encoding=$structure->parts[1]->encoding; } else { $encoding=$structure->encoding; } 不過只有小部分原來的問題郵件因此獲取了正確的 encoding,大部分還是不行。 【測試環(huán)境】 ●XAMPP操作系統(tǒng):Windows 10 家庭中文版 1803Apache版本:2.4.16 (Win32)PHP版本:5.6.12
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 688 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號