Perl 如何使用MIME::Parser从邮件中获取正文部分? 使用MIME::Parser; 使用数据::转储程序qw(转储程序); $parser=MIME::parser->new(); $parser->output_to_core(1);#不将附件写入磁盘 而(){ $MESSAGE.=$\uux; } $message=$parser->parse_数据($message);#如果无法解析,则为die()s $head=$message->head();#对象--请参阅文档 $preamble=$message->preamble;#参考线的数组 $epilogue=$message->epilogue;#参考线的数组 $num_parts=$message->parts; 对于(我的$i=0;$iparts(1); 我的$content\u type=$part->mime\u type; 我的$body=$part->as_字符串; 打印$body; }

Perl 如何使用MIME::Parser从邮件中获取正文部分? 使用MIME::Parser; 使用数据::转储程序qw(转储程序); $parser=MIME::parser->new(); $parser->output_to_core(1);#不将附件写入磁盘 而(){ $MESSAGE.=$\uux; } $message=$parser->parse_数据($message);#如果无法解析,则为die()s $head=$message->head();#对象--请参阅文档 $preamble=$message->preamble;#参考线的数组 $epilogue=$message->epilogue;#参考线的数组 $num_parts=$message->parts; 对于(我的$i=0;$iparts(1); 我的$content\u type=$part->mime\u type; 我的$body=$part->as_字符串; 打印$body; },perl,cpan,Perl,Cpan,在输出中,我还可以看到内容标题。我们是否有任何流程只将消息正文内容收集到数组中 提前感谢。my$body=$part->as\u string是错误的。MIME部分($part是类的一个实例)由头、正文和尾声组成 这应该是my@body\u encoded\u lines=$part->body(行列表)或my$body\u decoded\u handle=$part->bodyhandle(的实例)。my$body=$part->as\u string是错误的。MIME部分($part是类的

在输出中,我还可以看到内容标题。我们是否有任何流程只将消息正文内容收集到数组中


提前感谢。

my$body=$part->as\u string是错误的。MIME部分(
$part
是类的一个实例)由头、正文和尾声组成


这应该是
my@body\u encoded\u lines=$part->body
(行列表)或
my$body\u decoded\u handle=$part->bodyhandle
(的实例)。

my$body=$part->as\u string是错误的。MIME部分(
$part
是类的一个实例)由头、正文和尾声组成


这应该是
my@body\u encoded\u lines=$part->body
(行列表)或
my$body\u decoded\u handle=$part->bodyhandle
(实例)。

为什么要将STDIN读入$MESSAGE?为什么不仅仅是$parser->parse(\*STDIN)?为什么要将STDIN读入$MESSAGE?为什么不只是$parser->parse(\*STDIN)??
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;
}