如何在 Perl 5 中保存通过 MIME::Lite 发送的邮件的备份?
Posted
技术标签:
【中文标题】如何在 Perl 5 中保存通过 MIME::Lite 发送的邮件的备份?【英文标题】:How to save a backup of mails sent through MIME::Lite in Perl 5? 【发布时间】: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 协议访问您的邮箱?您的问题有“一些”特殊情况。 我已附上我的脚本 【参考方案1】:取决于您访问收件箱的方式。在任何情况下,您都可能需要MIME::Lite
的as_string
方法,您可以调用消息来检索整个文本,包括标题和可能的附件。
对于本地邮箱:
Maildir::Lite
将返回的字符串简单地写入适当命名的(Maildir::Lite
为您完成此操作)文件。
对于 mbox 文件夹,请查看 Mail::Box::Mbox
只需几行 Perl 就可以处理本地邮箱。如果您的收件箱是远程的并且需要 IMAP,那么总是有 IMAP::Client
但我对此一无所知。也许本地 Maildir 加上 offlineimap 也可以?
【讨论】:
以上是关于如何在 Perl 5 中保存通过 MIME::Lite 发送的邮件的备份?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 或 Perl 中以编程方式打开 PowerPoint 演示文稿并将其保存为 HTML/JPEG?