提取eml中信息及附件,同时寻找“雨中漫步”

提取eml中信息及附件,同时寻找“雨中漫步”

提取eml中信息及附件,同时寻找“雨中漫步”
因为寻找从eml中提取附件的方法,找到“雨中漫步”在perl.cn的文章,可没有多久这个站就关了。从网上找到几个他的邮箱,可是都没有回信,不知道能不能从这里找到他。另外,希望他的家人身体健康。

下面是他写的两段代码,意思基本明白,但我还没有会使用perl所以先放出来,回头有不明白的地方,请大家帮忙。

可惜这个站不久就关了,本来还看了很多好代码,只保存了这一点!

---------------------------
use Email::MIME;
use strict;

my (@message,$fileName);

$fileName = "C:/a.eml";
open(FH,$fileName);
@message = ;
close FH;
#print @message;

my $parsed = Email::MIME->new(join("",@message));
my @parts = $parsed->parts;
#print scalar @parts , "\n";
my $decoded = $parsed->body;
my $non_decoded = $parsed->body_raw;
my $content_type = $parsed->content_type;
#print $content_type,"\n";

open(FH1,">c:/a.jpg");
binmode(FH1);
print FH1 $parts[1]->body;
close FH1;
----------------------

use Email::MIME;
use Email::Simple;
use strict;

my (@message,$fileName);

$fileName = "C:/a.eml";
open(FH,$fileName);
@message = ;
close FH;
#print @message;
my $allMsg = join("",@message);
my $mail = Email::Simple->new($allMsg);
print "From : " , $mail->header("From") , "\n";
print "=" x 80 , "\n";
print "To : " , $mail->header("To") , "\n";
print "=" x 80 , "\n";
print "Received : " , $mail->header("Received") , "\n";
print "=" x 80 , "\n";
print "Content-Transfer-Encoding : " , $mail->header("Content-Transfer-Encoding") , "\n";
print "=" x 80 , "\n";
print "Content-Type : " , $mail->header("Content-Type") , "\n";
print "=" x 80 , "\n";
print "MIME-Version : " , $mail->header("MIME-Version") , "\n";
print "=" x 80 , "\n";
print "X-Mailer : " , $mail->header("X-Mailer") , "\n";
print "=" x 80 , "\n";
print "Date : " , $mail->header("Date") , "\n";
print "=" x 80 , "\n";
print "Subject : " , $mail->header("Subject") , "\n";
print "=" x 80 , "\n";

my $parsed = Email::MIME->new($allMsg);
my @parts = $parsed->parts;
#print scalar @parts , "\n";
my $decoded = $parsed->body;
my $non_decoded = $parsed->body_raw;
my $content_type = $parsed->content_type;
#print $content_type,"\n";
my $partsCount = 0;
foreach my $par (@parts)
{
print $partsCount , " : ";
if(length($par->filename) > 0)
{
print "filename : " , $par->filename , "\n";
}
if(length($par->content_type) > 0)
{
print "content_type : " , $par->content_type , "\n";
}
print "=" x 80 , "\n";
$partsCount++;
#open(FH1,">c:/a.jpg");
#binmode(FH1);
#print FH1 $parts[1]->body;
#close FH1;
}
使用MIME::Parser和NET::P.
使用MIME::Parser和NET::POP3配合使用。

附件,一般都是嵌套格式的所以你的写成递归方式。你可以参考“Perl网络编程”里的例子。如果你有书。
因为这个不是自己写的,而.
因为这个不是自己写的,而且今天刚安装上perl还不会用。
请教您能不能给俺当个入门老师!谢谢
在perlchina知识是所有人共享的
工作较忙,今天晚上目标--把这段调试出来
工作较忙,今天晚上目标--把这段调试出来
希望您有空来帮助一下