系统:在Ubuntu 18.04 LTS上的Perl 5.26.1。
我已经在各种网站和Google上搜索了大约2个小时,并阅读了Email :: Sender上的手册,使用Email :: Sender时似乎找不到如何附加文件。我正在升级机器,并且正在使用Mail :: Sender,但对于Email :: Sender不推荐使用Mail :: Sender,并且在Email :: Sender上文档稀疏。
我在Email :: Sender文档中根本找不到有关文件附件的任何信息。
由于Mail :: Sender不再更新,因此继续使用它是一个坏主意。我们在Perl上投入了很多资金,因此我们暂时无法更改工具。
编辑:这是我到目前为止的代码:
my $email = Email::Stuffer->new(
text_body=>$body,
subject=>$subjparam,
from=>$from, # or use ->from($email1, $email2...)
transport=>Email::Sender::Transport::SMTP->new({
host => $smtpserver,
port => $smtpport,
username => $smtpuser,
password => $smtppw,
}),
);
该过程有两个部分,构造电子邮件并发送。 Email :: Sender仅处理后者,并且显示了如何使用Email :: Simple构造简单的电子邮件。要构建更高级的电子邮件(例如带有附件的电子邮件),您需要功能更强大的Email::MIME,并且将电子邮件::: MIME和电子邮件::: Sender的包装一起称为Email::Stuffer,它提供了用于附加文件的简单API。]
use strict;
use warnings;
use Email::Stuffer;
my $mail = Email::Stuffer->...->attach_file('/path/to/file.txt'); # guesses MIME type
# or if you have the file data in memory
my $mail = Email::Stuffer->...->attach($contents,
name => 'foo.dat', filename => 'foo.dat', content_type => 'application/octet-stream');
$mail->send_or_die;