我使用MIME :: Lite :: TT来发送带有perl的邮件。如何在发送之前在本地保存邮件

时间:2015-02-24 05:03:29

标签: perl email mime

模板

 <html>
 <body>

 <strong>Hi [% first_name %]</strong>,

 <p>
 This is to confirm your purchase of $ [% amt_due %].
 </p>

 <p>
 Thank you!
 </p>
 </body>
 </html>

   `$params{first_name} = 'Frank';
    $params{last_name}  = 'Wiles';
    $params{amt_due}    = '24.99';
    my $msg = MIME::Lite::TT::HTML->new(
        From        =>  'admin@example.com',
        To          =>  'frank@example.com',
        Subject     =>  'Your recent purchase',
        Template    =>  {
                            text    =>  'test.txt.tt',
                            html    =>  'test.html.tt',
                            },
        TmplOptions =>  \%options,
        TmplParams  =>  \%params,
 );

如何在发送前在本地保存邮件。它的模板为html,其中填充了params和pdf附件。 是否可以使用填充值保存模板。

2 个答案:

答案 0 :(得分:1)

MIME::Lite::TT只是一个预处理器;调用MIME::Lite::TT->new会返回正常的MIME::Lite对象。只需以您喜欢的任何方式保存该对象。

例如,您可以print it to a filehandle

my $email = MIME::Lite::TT->new(...);
$email->print(\*STDOUT);
$email->send;

答案 1 :(得分:0)

要打印已填充的模板,我们可以使用

$$email{data}

由于$ email是对哈希的引用,因此数据是电子邮件正文内容的关键。 要打印整个邮件,请使用上述解决方案。