0

メールがデータベースに保存される前にクリーンアップする作業を行っています。ファンダンゴ メールが 4 (quoted-printable) としてエンコードされて送信されました。これは、デコードされていないメッセージの一部です...

=0A=0A=A0=0AJohn=0A(800) 123-4567=0A=0A----- 転送メッセージ =

=20=0ASent:=20Thursday,=20July=204,=202013=204:14=20PM=0ASubject:=20Your=20Despicab=

le=20Me=202=20iTunes=20Download=0A=20=0A=0A=0ADespicable=20Me=202=20=0A=20=20=0A=20Your=20purchase=20=

of=20tickets=20for=20Despicable=20Me=202=20has=20earned=20you=20a=20complimentary=20download=20of=20t=

he=20song=20'Just=20a=20Cloud=20Away'=20by=20Pharrell=20from=20the=20Original=20Motion=20Picture=20So=

undtrack=20on=20iTunes.=20=0AWe=20hope=20you=20enjoy=20the=20song=20and=20the=20film!=0AIf=20you=20ha=

ve=20iTunes=20installed,=20click=20here=20to=20start=20your=20complimentary=20download.=0AIF=20=

YOU=20DO=20NOT=20HAVE=20iTunes=20INSTALLED:=0A=0A1.=20Download=20iTunes=20for=20Mac=20or=20Window=

s,=20free=20of=20charge=20at=20www.iTunes.com.=20=0A2.=20Open=20iTunes=20and=20click=20iTunes=20Sto=

re.=20=0A3.=20Click=20Redeem=20under=20Quick=20Links.=20=0A4.=20Enter=20the=20code=20below.=20Your=20=

download=20will=20start=20immediately.=20Enjoy.=20=0ADownload=20Code:=20FML6H34XXTMJ=20=0AC=

しかしquoted_printable_decode()、変数を使用すると、テキストは生成されません。


この URL には、ASP/VB でも機能するデコーダーがあります...

http://www.motobit.com/util/quoted-printable-decoder.asp

ここのコードは関連していると思います...

http://www.motobit.com/tips/detpg_quoted-printable-decode/

上記の引用印刷可能な HTML を正しくデコードします。うまくいけば、これは誰かが私を助けようとするのに役立ちます. 壊れた引用印刷可能な電子メール メッセージに遭遇したのは私だけではないと確信しています。

4

2 に答える 2

0

あなたが投稿した引用符で囲まれた印刷可能なエンコードされた文字列にいくつかのスペースがあるようです. それがおそらく問題の原因です-それが本当に引用されて印刷可能である場合、エンコードされた文字列にスペースを含めることはできません。引用された印刷可能なスペースは = 20 です。置換関数 (PHP の str_replace など) を使用して、エンコードされた文字列のスペースを =20 に置き換えると、次の引用符で囲まれた印刷可能なエンコードされた文字列が得られます。

John=0D=0A(800)=20123-4567=0D=0A=0D=0A-----=20Forwarded=20Message=20

次に、この文字列は、PHP の quoted_printable_decode() 関数を使用してデコードできます。

于 2013-07-08T16:01:35.383 に答える
0

上記の引用された印刷可能なエンコードされたテキストをファイルにコピーする場合は、次の PHP スクリプトを実行します (ファイルから引用された印刷可能なテキストを読み取り、str_replace 関数を使用してスペースを取り除き、次を使用して引用された印刷可能なテキストをデコードします)。 quoted_printable_decode 関数) を使用すると、正しいデコード出力が生成されることがわかります。

 <?
 $filename="./qp.txt";
 $file = fopen($filename,"r");
 $qp = fread($file,filesize($filename));
 fclose($file);

 $qp=str_replace(" ", "", $qp);
 print "<plaintext>";    
 print quoted_printable_decode($qp);
 ?>
于 2013-07-09T19:45:37.453 に答える