如何在Perl 5中保存通过MIME :: Lite发送的邮件备份?

时间:2016-08-08 06:03:49

标签: perl mime perl5

我通过MIME :: Lite perl模块发送邮件。我希望我发送的邮件应该保存在我邮件收件箱的已发送邮件文件夹中。请建议我这样做。 谢谢 脚本 -

use MIME::Lite;

my $msg = MIME::Lite->new(
    From    => 'xyz@abc.com',
    To      => 'abcd@gmail.com',
    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.."

1 个答案:

答案 0 :(得分:0)

取决于您如何访问收件箱。在任何情况下,您可能需要MIME::Lite as_string方法,您可以调用邮件来检索整个文本,包括标题和可能的附件。 对于本地邮箱:

  • 如果您的邮件文件夹使用Maildir格式,您可以使用Maildir::Lite将返回的字符串简单地写入适当命名的(Maildir::Lite为您执行此操作)文件。
  • 对于mbox文件夹,请查看Mail::Box::Mbox

只需几行Perl即可处理本地邮箱。如果您的收件箱是远程的并且需要IMAP,那么总是IMAP::Client但我并不真正了解它。也许当地的Maildir加offlineimap也会这样做?