【问题标题】:How to save a backup of mails sent through MIME::Lite in Perl 5?如何在 Perl 5 中保存通过 MIME::Lite 发送的邮件的备份?
【发布时间】:2016-12-13 19:34:24
【问题描述】:

我正在通过 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.."

【问题讨论】:

  • 你使用的是哪个 Perl?
  • @Přemysl Šťastný 我正在使用 perl 5.12.5
  • 您是否使用 SMTP AUTH 发送电子邮件? (smtp with password) 您是否通过 IMAP 协议访问您的邮箱?您的问题有“一些”特殊情况。
  • 我已附上我的脚本

标签: mime perl


【解决方案1】:

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

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

只需几行 Perl 就可以处理本地邮箱。如果您的收件箱是远程的并且需要 IMAP,那么总是有 IMAP::Client 但我对此一无所知。也许本地 Maildir 加上 offlineimap 也可以?

【讨论】:

    猜你喜欢
    • 2015-04-25
    • 2012-04-22
    • 2011-05-23
    • 2018-01-16
    • 2011-12-20
    • 2014-11-15
    • 2013-05-22
    • 2012-04-17
    • 2011-12-19
    相关资源
    最近更新 更多