0

PHP -IMAP すべての imap メールをデータベースに保存し、データベースから表示しました。私の問題は、1 つのメールに「Content-Transfer-Encoding: base64」と表示されていることです。base64 でデコードすると、他のメールも影響を受けます。私はまだそれを人間が読める形式に変更することができませんでした。どんな助けでも大歓迎です。私は多くの解決策を試しましたが、現在使用しているコードは、

mb_convert_encoding($body, "ISO-8859-1", "UTF-8");

このメールの出力は

------=_NextPart_001_0606_012497BF.12408D60
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: base64

 OTA5MTU5Mzg3DQoNCuS7juaKgOacr+i1sOWQkeeuoeeQhueahOWbm+S4quaguOW/gw0KMjAxMi05
 LTE1ICAxNjowMjoxNw==

 ------=_NextPart_001_0606_012497BF.12408D60
 Content-Type: text/html;
charset="utf-8"
 Content-Transfer-Encoding: base64

 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
 L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0
 Zi04IiBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZT4NCjxNRVRBIG5hbWU9R0VORVJBVE9SIGNvbnRl
 bnQ9Ik1TSFRNTCA4LjAwLjYwMDEuMTg5OTkiPjwvSEVBRD4NCjxCT0RZPg0KPFA+PEZPTlQgc2l6
 ZT0yPjkwOTE1OTM4NzxCUj48QlI+5LuO5oqA5pyv6LWw5ZCR566h55CG55qE5Zub5Liq5qC45b+D
 PC9GT05UPjwvUD4NCjxQPjxGT05UIHNpemU9Mj4yMDEyLTktMTUmbmJzcDsgMTY6MDI6MTc8L0ZP
 TlQ+PC9QPjwvQk9EWT48L0hUTUw+DQo=

 ------=_NextPart_001_0606_012497BF.12408D60--
4

2 に答える 2

0

これは base64 です。次のようにボディ部分で base64_decode を使用する必要があります。

base64_decode('OTA5MTU5Mzg3DQoNCuS7juaKgOacr+i1sOWQkeeuoeeQhueahOWbm+S4quaguOW/gw0KMjAxMi05LTE1ICAxNjowMjoxNw==');
于 2012-09-18T11:17:57.693 に答える
-3

http://www.motobit.com/util/base64-decoder-encoder.aspのようなオンライン サービスがいくつかあることを手動で確認するだけです 。

base64 ソースをコピーして貼り付け、「デコード」を選択するだけです。「ヒューマンレディブルフォーマット」が得られます。

于 2012-09-18T14:07:44.820 に答える