我使用MIME::Lite::TT通过perl发送邮件。如何在发送前将邮件保存在本地

我使用MIME::Lite::TT通过perl发送邮件。如何在发送前将邮件保存在本地,perl,email,mime,Perl,Email,Mime,模板 你好[%first\u name%], 这是为了确认您购买的[%amt\u due%]美元。 非常感谢。 `$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', 主题=>“您最近购买的物品”, 模板

模板


你好[%first\u name%],

这是为了确认您购买的[%amt\u due%]美元。

非常感谢。

`$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', 主题=>“您最近购买的物品”, 模板=>{ text=>test.txt.tt', html=>test.html.tt', }, tmpOptions=>\%选项, TmplParams=>\%params, );只是一个预处理器;调用
MIME::Lite::TT->new
返回一个正常的
MIME::Lite
对象。只要用你喜欢的方式保存那个东西

例如,您可以:


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

$$email{data}
因为$email是对散列的引用,数据是电子邮件正文内容的键。
要打印整封邮件,请使用上述解决方案。

向我们展示您的代码您尝试了什么。@serenesat添加了代码。@quorious,这应该是完整的MIME邮件,包括附件。是的。我还附加了一个模板并从脚本传递值。是否可以保存填充的模板?正如我所解释的,模板处理在
MIME::Lite::TT->new
期间进行。从
new
返回的对象是一封普通的
MIME::Lite
电子邮件,模板已经填充。是否可以只保存模板而不是整个邮件?感谢@cjm提供的所有帮助。经过一番挖掘,我找到了解决办法。我们可以通过“$$email{data}”获得填充的模板。这破坏了封装
$email
是对MIME::Lite对象的引用,该对象恰好作为哈希实现。我想你在寻找
$email->data
。是的@cjm,上面的语句就是这样。
$$email{data}