2010-08-15 85 views
0

我是用Perl編寫的新手。如何在Perl中格式化電子郵件輸出?

我有一個結帳單,它會發送一封電子郵件給買家,詳細說明他們的訂單。如何在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

回答

1

Email::SenderEmail::Sender::Manual::QuickStartEmail::Simple

您可以使用Email::MIME::CreateHTML來創建消息。

Perl Email Project網站似乎有點休眠,但它們的mailing list處於活動狀態。你也可以在那裏獲得幫助。

我有這樣的感覺,你抓住了一些古老的垃圾,充滿了壞習慣和網絡上的安全漏洞,並且你也在手動處理CGI提交。請使用CGI::SimpleCGI.pm

+0

在這些Perldoc頁面中,我無法看到關於如何格式化電子郵件的任何內容,因此它非常「漂亮」......甚至任何有關以純文本/純文本格式發送電子郵件的任何內容(已解釋)。 – Quentin 2010-08-15 14:58:04

+0

@David:我忘記了替代'Mime :: Lite :: HTML',並且正在尋找它。無論如何,當我搜索時,我發現你張貼了;-) +1。 – 2010-08-15 15:06:25

+0

別人推薦不要使用CGI.pm? – xenoterracide 2010-08-15 20:41:04

1

您需要構建兩個版本的電子郵件。純文本版本(如現在一樣)和HTML格式的版本。請注意0​​從非常好到非常差。

然後,您需要將它們一起加入到電子郵件中。過去我使用Email::MIME::CreateHTML的結果非常好。

0

您應該可以使用Template :: Toolkit進行各種格式設置,包括電子郵件。你可能也想看看其他的模板引擎,如Text::Template,當然如果你不需要Unicode你甚至可以考慮邪惡format。如果你想HTML只是用模板部分寫HTML。

相關問題