小编Mar*_*ark的帖子

Perl解析多部分/替代电子邮件

我正在寻找一种方法来解析多部分/替代电子邮件的正文部分.我目前有一个使用Email :: Mime模块的perl脚本,它正确解析text/plain和text/html.虽然我遇到的问题是,当我解析多部分/替代电子邮件时,$ part-> body总是返回空.我尝试过使用$ part-> body_raw,虽然它包含了我需要省略的标题,但它确实返回了文本正文.

使用$ part-> data_raw的当前输出

--_000_47C8E15E8EEDCB4E94E891F9414C019A0CB5BDEE79DFW1MBX07mex0_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable 

Text Body 
Run Code Online (Sandbox Code Playgroud)

期望的输出

Text Body
Run Code Online (Sandbox Code Playgroud)

PERL代码

my ( $body, $text_body, $html_body, $multi_body );
for my $part (@parts) {

if ( $part->content_type =~ m!text/html! ) {
    my $hs = HTML::Strip->new( emit_spaces => 0 );
    $html_body .= $hs->parse( $part->body );
    print "Found HTML\n";
}
elsif ($part->content_type =~ m!text/plain!
    or $part->content_type eq '' )
{

    $text_body .= $part->body;
    print "Found TEXT\n";
}
elsif ($part->content_type =~ m!multipart/alternative!
    or …
Run Code Online (Sandbox Code Playgroud)

email perl mime

3
推荐指数
1
解决办法
3156
查看次数

标签 统计

email ×1

mime ×1

perl ×1