簡體   English   中英

如何使用MIME :: Parser從郵件中獲取正文部分?

[英]How to get the body part from the mail using MIME::Parser?

use MIME::Parser;
use Data::Dumper qw(Dumper);

$parser = MIME::Parser->new( );
$parser->output_to_core(1); # don't write attachments to disk

while (<STDIN>) {
$MESSAGE .= $_;
}

$message = $parser->parse_data($MESSAGE); # die( )s if can't parse

$head = $message->head( ); # object--see docs
$preamble = $message->preamble; # ref to array of lines
$epilogue = $message->epilogue; # ref to array of lines

$num_parts = $message->parts;
for (my $i=0; $i < $num_parts; $i++) {
    print "part number = $i\n";
    my $part = $message->parts(1);
    my $content_type = $part->mime_type;
    my $body = $part->as_string;
    print $body;
}

在輸出中,我還可以看到內容標題。 我們是否有任何過程可以僅將郵件正文內容收集到數組中?

提前致謝。

my $body = $part->as_string; 是錯的。 MIME部分( $partMIME :: Entity類的實例)由標頭,正文和結尾組成。

相反,這應該是my @body_encoded_lines = $part->body (行列表)或my $body_decoded_handle = $part->bodyhandleMIME實例:: Body )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM