我有一个原始电子邮件,(MIME多部分),我想在网站上显示该电子邮件(例如,在iframe中,带有HTML部分和纯文本部分的标签,等等)。是否可以使用任何CPAN模块或Template::Toolkit插件来帮助实现这一目标?

目前,看来我必须使用Email::MIME解析消息,然后遍历所有部分,并为所有不同的mime类型编写一个处理程序。

这是一个远景,但是我想知道是否有人已经完成了所有这些工作?如果我自己尝试的话,编写处理程序将是一个漫长且容易出错的过程。

谢谢你的帮助。

最佳答案

对我来说,这听起来并不困难:

use Email::MIME;
my $parsed = Email::MIME->new($message);
my @parts = $parsed->parts; # These will be Email::MIME objects, too.
print <<EOF;
<html><head><title>!</title></head><body>
EOF
for my $part (@parts) {
    my $content_type = $parsed->content_type;
    if ($content_type eq "text/plain") {
         print "<pre>", $part->body (), "</pre>\n";
    }
    elsif ($content_type eq "text/html") {
        print $part->body ();
    }
    # Handle some more cases here
}
print <<EOF;
</body></html>
EOF

关于perl - 在网站上解析并显示MIME多部分电子邮件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3069021/

10-13 02:48