2009-10-12 7 views
1

스팸 필터를 비교하기 위해 두 개의 IMAP 폴더 (두 개의 서로 다른 서버에 있음)를 "차별화"하고 싶습니다. 명령 줄 도구 (Linux)를 사용하여 머리글을 가져오고 싶습니다. 'iSync를'또는 이와 유사한 것), 이런 식으로 뭔가 :IMAP 폴더가 다른가?

$ imapget --subjects -p =

비밀 번호 사용자 @ 서버

나이 : "$ 날짜 --format

$의 imapget - FROM $ - $ SUBJ "-p = 암호 user @ server

('imapget'cmd는 가상의 것임)

무엇을 제안하겠습니까? 내가 OfflineIMAP 같은 것을 사용하여 로컬 Maildir 형식의 폴더에 두 IMAP 폴더를 반영 할

 use Mail::IMAPClient; 
    my $imap = Mail::IMAPClient->new(
     Server => $imaphost, User => $login, Password => $pass, Uid => 1 
    ); 

    $imap->select("demo_folder"); 

    my $msgs = $imap->search("ALL"); 
    for my $h (

     # get specified headers from every message in folder "demo_folder" the 

     values %{ $imap->parse_headers($msgs , "Date", "From", "Subject") }) 
    { 
     # $h is the value of each element in the hash ref returned 
     # from parse_headers, and $h is also a reference to a hash. 
     # We'll only print the first occurrence of each field because 
     # we don't expect more than one particular header line per 
     # message. 
     print map { "$_:\t$h->{$_}[0]\n"} keys %$h; 
    } 
+0

이것은 아마도 serverfault 또는 수퍼 유저 일 것입니다. –

답변

0

easies 방법은 펄 및 메일 : IMAPClient를 얻을 수와 같은 것을 사용하는 것이 아마도 주셔서 감사합니다 , imapsync, imapcopy, isync 또는 mailsync.

그런 다음 mailutils와 같은 것을 사용하여 양쪽에서 메시지 목록을 출력하고 diff를 비교합니다.