我正在尝试通过电子邮件发送Postgres查询中的IP列表。
我找到了MIME :: Lite :: TT,现在安装并运行了。我想在换行分隔列表中的每封电子邮件中传递20-30个IP。我可以通过为我需要发送的每封电子邮件生成一个新的.txt模板来实现,但这似乎效率低下。我在cpan上找到了Template,我认为@list部分是我需要的,但我不知道如何实现它。
传递$ params {ips} =“1.2.3.4 \ n2.3.4.5 \ n3.4.5.6 \ n”也不起作用。
感谢您的想法。
此代码成功发送一个IP:
#!/usr/bin/perl -w
use MIME::Lite::TT;
# SendTo email id
my $email = 'tester@mydomain.org';
my %params;
$params{ips} = "1.2.3.4";
# create a new MIME Lite based email
my $msg = MIME::Lite::TT->new
(
Subject => "HTML email test",
From => 'admin@mydomain.org',
To => $email,
Type => 'text/html',
Template => 'test.txt',
TmplParams => \%params
);
$msg->send();
答案 0 :(得分:2)
阿。呀。
在不知道模板的外观的情况下,很难提出具体的建议。但是,如果将其设置为:
$params{ips} = [ qw{ 1.2.3.4 2.3.4.5 3.4.5.6 } ];
并且您的模板的区域如下所示:
[% FOREACH address IN ips %]
[% address %]
[% END %]
我想,你的问题会得到解决。我将数组拆分为20-30个元素列表作为练习。 :)