2016-12-27 87 views
1

我對Python使用O365。 發送電子郵件並使用setBodyHTML()函數構建主體。但是目前我需要在函數內部編寫實際的HTML代碼。我不想這樣做。我只想讓python查看我保存在某處的HTML文件,並使用該文件作爲主體發送電子郵件。那可能嗎?或者我僅限於將我的HTML複製/粘貼到該函數中?我正在使用office365做生意。謝謝。Python O365用HTML文件發送電子郵件

換句話說,而不是這樣:msg.setBodyHTML("<h3>Hello</h3>")我希望能夠做到這一點:msg.setBodyHTML("C:\somemsg.html")

回答

1

我想你可以先指定文件的內容給一個變量,即:

file = open('C:/somemsg.html', 'r') 
content = file.read() 
file.close() 
msg.setBodyHTML(content) 
+1

優秀線的東西。這工作。現在我應該問是否有辦法將CSS實現到我的這個HTML中,但不知道是否需要一個新的線程,因爲它可能是主題。 –

0

你可以通過簡單地將該文件讀取到字符串中,然後將該字符串傳遞給setBodyHTML函數。

下面是一個簡單函數的例子,將這樣的伎倆:

def load_html_from_file(path): 
    contents = "" 
    with open(path, 'r') as f: 
     contents = f.read() 

    return contents 

後來,你可以做沿

msg.setBodyHTML(load_html_from_file("C:\somemsg.html")) 


html_contents = load_html_from_file("C:\somemsg.html") msg.setBodyHTML(html_contents)