我正在使用MIME :: Lite :: TT与perl一起发送邮件。如何发送

问题描述:

模板我正在使用MIME :: Lite :: TT与perl一起发送邮件。如何发送

<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  => '[email protected]', 
 
     To   => '[email protected]', 
 
     Subject  => 'Your recent purchase', 
 
     Template => { 
 
          text => 'test.txt.tt', 
 
          html => 'test.html.tt', 
 
          }, 
 
     TmplOptions => \%options, 
 
     TmplParams => \%params, 
 
);

如何发送之前本地保存邮件之前本地保存的邮件。它有模板作为html填充params和pdf附件。 是否可以使用填充值保存模板。

+1

向我们展示你的代码你试过了什么。 – serenesat 2015-02-24 06:23:16

+0

@serenesat添加了代码。 – quorious 2015-02-25 04:57:50

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; 
+0

谢谢它的工作原理。我们是否也可以保存附件? – quorious 2015-02-24 12:53:02

+0

@quorious,这应该是完整的MIME消息,包括附件。 – cjm 2015-02-24 16:20:01

+0

是的。 我也附加了一个模板并传递了脚本中的值。 可以保存填充的模板吗? – quorious 2015-02-25 04:40:51

要打印,我们可以使用

$$email{data} 

由于$电子邮件是哈希和数据的参考填充模板是对内容的关键电子邮件的身体。 要打印整个邮件,请使用上述解决方案。

+0

这是破解封装。 '$ email'是对MIME :: Lite对象的引用,它恰好作为散列来实现。我想你正在寻找'$ email-> data'。 – cjm 2015-02-25 07:35:34

+0

是@cjm和above语句服务。 – quorious 2015-02-26 06:07:01