2012-02-10 76 views
0

我有一個我想通過電子郵件發送的test.html文件(我指的是關於頁面內容)。有沒有辦法從html獲取信息並將其作爲電子郵件發送?如果您有任何其他想法,請分享。通過python發送一個Html文件

+1

你可以用Python或任何其它腳本語言這樣做。只是谷歌有很多例子,你所要做的就是確保你在電子郵件標題中設置Content-type:text/html,以便目標能夠相應地解釋它。 – Johnydep 2012-02-10 11:12:21

回答

2

這裏有一個快速和骯髒的腳本,我只是寫這可能是你在找什麼。

https://gist.github.com/1790847

""" 
this is a quick and dirty script to send HTML email - emphasis on dirty :) 
python emailpage.py http://www.sente.cc 
made to answer: http://stackoverflow.com/questions/9226719/sending-a-html-file-via-python 
Stuart Powers 
""" 
import lxml.html 
import smtplib 
import sys 
import os 


page = sys.argv[1] #the webpage to send 

root = lxml.html.parse(page).getroot() 
root.make_links_absolute() 

content = lxml.html.tostring(root) 

message = """From: Stuart Powers <[email protected]> 
To: Stuart Powers <[email protected]> 
MIME-Version: 1.0 
Content-type: text/html 
Subject: %s 

%s""" %(page, content) 


smtpserver = smtplib.SMTP("smtp.gmail.com",587) 
smtpserver.starttls() 
smtpserver.login("[email protected]",os.environ["GPASS"]) 
smtpserver.sendmail('[email protected]', ['[email protected]'], message) 
+0

嗨!謝謝你的答案,即使我不得不手動從二進制文件中生成lxml,因爲我沒有找到2.7安裝程序,這就是我想要的。 – 2012-02-13 09:00:44

+0

哈哈,是啊lxml可以是一個痛苦的安裝,但'make_links_absolute()'是非常方便:)很高興有幫助。 – 2012-02-15 07:17:24

1

在Python中讀取文件有很多種方法,並且也有方法可以用python發送郵件。爲什麼不查找文檔並返回一些編碼錯誤?

+1

你好,我看了文檔,我問的是如果有一種方法已經保存在一個HTML文件中的頁面,並將內容導入到電子郵件併發送它。我看到的例子是如何構建一個html電子郵件,這意味着我將不得不再次創建html。這是唯一的方法嗎? – 2012-02-10 12:00:33