AFAIK有处理这一专有格式没有模块。而是将其转换为标准模板系统:
my $template = <<'TEMPLATE';
Good morning, [% name %]!
Today is your first day at work. You have already received your universal login
credentials:
[% ldap_user %]
[% ldap_pass %]
It works for authenticating at the Web proxy, mail system, Jabber and internal
services. Change the password ASAP: <[% ldap_web %]>
--
Yours sincerely, the greeting daemon
TEMPLATE
use Text::Xslate qw();
my $text = Text::Xslate->new(syntax => 'TTerse')->render_string($template, {
name => 'New Bee',
ldap_user => 'nbee',
ldap_pass => 'CON-GLOM-O',
ldap_web => 'http://192.168.0.1:8080/',
});
使用MIME工具包创建电子邮件。 HTML /多/附件是容易 Courriel::Builder:
use Courriel::Builder;
my $email = build_email(
subject('Welcome'),
from('[email protected]'),
to('…'),
plain_body($text),
);
最后,使用高级别库Email::Sender,给你不错的错误检查,并允许您轻松地切换出传输发送 - 运行测试的本地交付。
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP qw();
use Try::Tiny;
try {
sendmail(
$email,
{
transport => Email::Sender::Transport::SMTP->new({
host => 'smtp.example.invalid',
})
}
);
} catch {
warn "sending failed: $_";
};
你确定没有这个吗?我可以将整个.oft模板解析为电子邮件主题,就像它假设的一样。我现在运行的唯一问题似乎是一个科迪问题。整个.oft机构看起来类似于这个... ÐÏà¡\t 它似乎是一个UTF-8编码问题,但我努力转换一切。 – Heuristic
[开一个新主题](http://stackoverflow.com/questions/ask)为您的后续问题。在那里提供您的输入数据和代码。 – daxim