2012-07-31 49 views
0

我想發送一個python(2.6)HTML電子郵件與彩色編碼輸出。我的腳本創建一個輸出字符串,我將其格式化爲一個表格(使用str.format)。它打印屏幕上的好:Python的HTML電子郵件:自定義輸出顏色編碼

ABCD 24222 XYZ一個
ABCD 24222 XYZ乙
ABCD 24222 XYZ一個
ABCD 24222 XYZ d

但我還需要寄一封電子郵件,我需要有A(綠色),B(紅色)等。我怎麼能這樣做?

我已經嘗試是在前面和A,B等的背面附上FONT COLOR = #somecolor &/FONT標籤和我在適當部分寫了一個方法/模塊,其添加表,TR & TD標記)的字符串,這樣的郵件就像電子郵件中的HTML表格。但是,這種方法存在一個問題:
1)這並不總是正常工作。電子郵件(通過運行完全相同的腳本獲得)是不同的,並且多次與錯誤的成員和神祕的tr或td出現(每次在不同的位置)。即使我的HTML表格創建是正確的

任何幫助,將不勝感激。

+1

你確信你的HTML創建代碼是正確的,即使它輸出錯誤的HTML? – jforberg 2012-07-31 17:38:35

+0

它並不總是輸出錯誤的HTML。有時候一切都很完美,有時我會在某個地方掛上奇怪的tr/td標籤。 – NGambit 2012-07-31 17:46:48

+0

好的,jforberg 3是正確的,雖然我的html「看起來」對我有效,但內容並沒有放在body標籤中。一旦解決了,我上面提到的方法工作正常。 – NGambit 2012-07-31 21:17:56

回答

0

好的。她是我的工作,以防萬一有人碰到同樣的問題。我必須在HTML表格中的每個標記之後輸入回車符(即\ n)。一切正常。

PS:這是否會對您有所幫助的一個線索是,我正在創建一大串HTML。

0

您所需要的工具箱被稱爲email.mime 你可能想是這樣的:

from email.mime.multipart import MIMEMultipart    
from email.mime.text import MIMEText       

msg = MIMEMultipart()           
msg['Subject'] = u"A subject."        
msg['From'] = "[email protected]"       
msg['To'] = "[email protected]"       
body = MIMEText(MAIL_TEMPLATE.format(**mail_content), 
       _subtype='html',        
       _charset='UTF-8')        
msg.attach(body) 

凡MAIL_TEMPLATE是一個HTML模板,mail_content存在於你的HTML準鍵與值要哪一個字典插。

+0

這可能工作..我需要檢查雖然 – NGambit 2012-07-31 17:50:33