使用MIME :: Lite发送列表:TT

时间:2011-04-20 03:03:53

标签: perl mime

我正在尝试通过电子邮件发送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();

1 个答案:

答案 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个元素列表作为练习。 :)