2015-09-18 90 views
2

我在嘗試閱讀Perl中的Outlook電子郵件(Unicode).msg文件時遇到問題。隔天我收到一封電子郵件,其中包含我必須放入另一個文件的信息。我想讓這個過程自動化。在Perl中閱讀Outlook .msg

基本上我的編程技能有限,剛開始專門爲這項任務學習Perl。

這是我的程序試圖讀取郵件的一部分。到目前爲止做了電子郵件::展望::消息從perlmonks讓我:

use warnings; 
use strict; 
use Email::Outlook::Message; 
use Email::MIME; 

my $sourceDir = "c:/temp"; 

open_msg("test.msg"); 

sub open_msg { 
    my $verbose = 0; 
    my $msgFile = shift; 
    my $origMsg = new Email::Outlook::Message "$sourceDir/$msgFile", $verbose or die "$!"; 
    my $mime = $origMsg->to_email_mime; 
    $mime->as_string; 
    return ($origMsg); 
} 

我能夠打印編碼的雜湊,但我不知道我怎樣才能身體的解碼文本存儲在一個陣列?

我很高興能獲得每一點幫助。

編輯:我想我改變了我最初的問題,以避免發佈幾乎相同的問題。

回答

1

$mime->as_string返回您想要打印的值,但您不會對它做任何處理,然後改爲打印未更改的$mime句柄。你想print $mime->as_string;

我相信代碼也應顯示Useless use of as_string in void context或類似與use warnings;

+0

謝謝,這需要我進了一步。現在看起來好像輸出是編碼的(... YXJlYXN0LWZvbn ...)MIME部分。我怎樣才能解碼? – OneK

+0

真的是一個單獨的問題。看起來像'base64',但是你的代碼段太有限了,不能真正說明。 http://perldoc.perl.org/MIME/Base64.html – tripleee