私は複数の部分でMIMEエンコードされた電子メールを解読する方法を理解しようとしているperl初心者です。私は規則のか分からないので、私はちょうど私が信じている電子メールの作品が関連している含まれます:Email :: MIMEとmultipart/signedで電子メールを解析する
Content-Type: multipart/mixed; boundary="===============3385789078715843912=="
Mime-Version: 1.0
--===============3385789078715843912==
Content-Type: multipart/signed; micalg="pgp-sha256";
protocol="application/pgp-signature"; boundary="=-0+dmFxz+BsFOEAAxvudu"
--=-0+dmFxz+BsFOEAAxvudu
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KVWJ1bnR1IFNlY3VyaXR5IE5vdGljZSBVU04tMzIxMC0xCkZlYnJ1
YXJ5IDIzLCAyMDE3CgpMaWJyZU9mZmljZSB2dWxuZXJhYmlsaXR5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CgpBIHNlY3VyaXR5IGlzc3VlIGFmZmVjdHMgdGhlc2UgcmVsZWFzZXMgb2YgVWJ1bnR1IGFuZCBp
dHMgZGVyaXZhdGl2ZXM6CgotIFVidW50dSAxNi4wNCBMVFMKLSBVYnVudHUgMTQuMDQgTFRTCi0g
私は次のコードのビットを持っている:
my $msg = Email::MIME->new($buf);
for my $part ($msg->parts) {
if ($part->content_type =~ m!multipart/mixed!
or $part->content_type eq '')
{
print "Found Multipart";
for my $subpart ($part->parts) {
print $subpart->body;
}
}
}
私は本当に次に何をすべきか分からない。私はこれに関して数十の異なるバリエーションを持っていて、それに取り組んだ4時間後には何も近づいていません。署名された電子メールのこのテキスト部分を読むために使用される適切なperlモジュールと関数を誰かが特定するのを助けることができたら、私は感謝します。
まあ、メッセージ本文部分を一番下に手動でデコードすると、適切な出力が得られます。それは良いスタートです。 – simbabque