如何在Perl中格式化电子邮件输出?

时间:2010-08-15 14:43:58

标签: perl forms

我在Perl中写作非常新。

我有一个结帐pl,它会向买家发送一封电子邮件,其中包含订单详情。如何在Perl中格式化以“漂亮”格式显示顺序,如表格,彩色背景图像等,如在HTML页面中??? 这是我希望格式化为更具吸引力的代码部分:

##-----Send email confirmation to the customer-----
open (MAIL,"|$mailprogram");
print MAIL "To: $b_email\n";
print MAIL "From: $oursalesemail\n";
print MAIL "Subject: Order Confirmation\n";
print MAIL "\n\n";
print MAIL "Hi $b_first\n";
print MAIL "\n\n";
print MAIL "Your order has been received.  A summary of your order appears below.\n";
print MAIL "\n";
&printMailFieldsFromForm;
print MAIL "\n";
print MAIL "Thank-you for your order.  It will be shipped posthaste.\n\n";
close MAIL;

干杯 KD

3 个答案:

答案 0 :(得分:1)

请参阅Email::SenderEmail::Sender::Manual::QuickStartEmail::Simple

您可以使用Email::MIME::CreateHTML创建讯息。

Perl Email Project网站似乎有点休眠,但他们的mailing list处于活动状态。你也可以在那里得到帮助。

我有一种沉闷的感觉,你抓住了一些古老的垃圾,里面装满了不良做法和网络上的安全漏洞,你也在手动处理CGI提交。请使用CGI::SimpleCGI.pm

答案 1 :(得分:1)

您需要构建两个版本的电子邮件。纯文本版本(如您所示)和HTML格式版本。请注意email clients have a wide range of support for web standards从非常好到非常差。

然后您需要将它们一起加入电子邮件中。我过去使用Email::MIME::CreateHTML获得了非常好的结果。

答案 2 :(得分:0)

您应该能够使用Template :: Toolkit进行各种格式化,包括电子邮件。您可能也想查看其他模板引擎,例如Text::Template,如果您不需要Unicode,您甚至可以考虑邪恶的format。如果你想要HTML,只需用模板部分编写html。