を介して電子メールを解析しようとすると問題が発生しPHP imap functions
ます。本文のテキストを抽出したいのですが、HTMLリンク(mailto:xxxxなど)やエンコードの問題はありません。私は(ほとんど、私は推測する)すべてを試したと思います。しかし、私が目的の最終結果に近づいている唯一のコードは、次のコードです。
$bodyText = imap_fetchbody($inbox,$email_number,1.2);
if(!strlen($bodyText)>0)
{
$bodyText = imap_fetchbody($inbox,$email_number,1);
}
var_dump($bodyText);
重要なのは、これで最終的なエンコーディングに問題が発生するということです(これが問題だと思います)。したがって、var_dumpの出力は次のようになります。
> From: SomeOne <someone=40domain.com>
> To: Someone Else <someoneelse=40domain.com>
> =Date: lunes 23 de julio de 2012 13:04:43
> Subject: =46wd: =46W: URGE=21=21=21=21 Ley de Reforma del Congreso de 20=11
> =20
> Some text here, blah, blah, blah
> =20
> ---------- =46orwarded message ----------
> From: Whatever <whatever=40domain.com (mailto:whatever=40domain.com)>
> Date: 23 de julio de 2012 12:53
> Subject: =46wd: =46W: URGE=21=21=21=21 Ley de Reforma del Congreso de 20=11
> To: Someone <someone=40domain.com (mailto:someone=40domain=.com)>
> =20
> =20
> Some stuff=21=21
> =20
> ---------- =46orwarded message ----------
> =46rom: samuel l jackson <sanvuco=40domain.com (mailto:sanvuco=40domain.com)>
> Date: 2012/7/23
> Subject: =46W: URGE=21=21=21=21 Ley de Reforma del Congreso de 2011
> To: =22...Scary Monster=C2=B7=C2=B7=C2=B7 =C3=B2=5F=5F=C3=B3=22 <eowyn2=
6=40domain.com (mailto:eowyn26=40domain.com
つまり、ブロック=40
の代わりに悪いように見える@
mailto:xxxx@domain.com
ありがとうございます