2016-08-08 25 views
0

Ich sende Mail über MIME :: Lite Perl-Modul. Ich möchte, dass meine gesendeten E-Mails im Ordner Gesendete Objekte meines Posteingangs gespeichert werden. Bitte schlagen Sie mir einen Weg, dies zu tun. Dank Script-Wie kann ich eine Sicherungskopie von Mails speichern, die über MIME :: Lite in Perl 5 gesendet wurden?

use MIME::Lite; 

my $msg = MIME::Lite->new(
    From => '[email protected]', 
    To  => '[email protected]', 
    Subject => 'sending mail', 
    Type => 'multipart/mixed', 
); 

$msg->attach(
    Type  => 'TEXT', 
    Path  => '/home/user/myName/cppLab/a.txt', 
    Filename => 'aabc.txt', 
    Disposition => 'attachment', 
); 

$msg->attach(
    Type  => 'TEXT', 
    Data  => "learning to send mail", 
); 


#$msg->print(\*STDOUT); 
    #$msg->print_header(\*STDOUT); 
$msg->send; 
print "mail sent.." 
+0

Welche Perl verwenden Sie? –

+0

@ Přemysl Šťastný Ich benutze perl 5.12.5 – vikas

+0

Senden Sie Ihre E-Mail mit SMTP AUTH? (smtp mit Passwort) Greifen Sie über das IMAP-Protokoll auf Ihre Mailbox zu? Ihr Problem hat "ein paar" Sonderfälle. – AnFi

Antwort

0

Hängt davon ab, wie Sie Ihren Posteingang zugreifen. In jedem Fall benötigen Sie wahrscheinlich MIME::Liteas_string Methode, die Sie auf Nachrichten abrufen können, um den gesamten Text einschließlich Header und möglicherweise Anhänge abzurufen. Für die lokalen Mailbox:

  • Wenn Ihr E-Mail-Ordner das Maildir-Format verwenden, können Sie Maildir::Lite einfach schreiben das zurückgegebene String in einen passenden Namen (Maildir::Lite tut das für Sie) Datei verwenden könnten.
  • Für mbox Ordner, haben einen Blick auf Mail::Box::Mbox

Lokale Postfächer können in nur wenigen Zeilen Perl behandelt werden. Wenn Ihr Posteingang remote ist und IMAP benötigt, gibt es immer IMAP::Client, aber ich habe keine Ahnung davon. Vielleicht würde ein lokaler Maildir plus offlineimap auch tun?

+0

beigefügt Dank @mbethke – vikas