今天要來跟大家介紹如何用Python來寄Email。
大家可能認為寄Email是一件很Personal的事情,為什麼有需要用Python來做呢?
想像我是一個大債主,有很多人向我借錢。我有一個報表,裡面記錄著欠我錢的人的名字,Email,以及欠款金額。涉及隱私問題我們不能將報表寄給所有人,因此必須各別寄Email給該欠債者的人提醒他們。
一般的作法大概就是手動拷貝報表裡面的內容,再一個一個寄Email給大家吧?
但是如果人數很多,而且三天兩頭就得做這件事的話,真的是一件很麻煩的作業。
類似上述的例子大家在工作或生活中可能也遇到過吧?
這時Python就可以派上用場了!
透過Python連結到Email伺服器,並自動化上述的流程,我們可以省下不少時間來追劇(誤
SMTP Server
首先第一步,往往也是令人感到困惑的部分,就是如何登錄到Email提供者的Server(譬如說Google的Gmail)。
我們會用到Python的內建模組 - smtplib來做這件事。
如同HTTP是專門用來傳輸網頁,SMTP(Simple Mail Transfer Protocol)是專門用來寄Email的規範(譬如說訊息的格式,加密,Server間的傳送等等)。而Python的smtplib所提供的功能就是來幫我們搞定這些事情。
每個Email服務提供者有他們自己的SMTP Server的網域名(Domain name)。譬如說:
Gmail - smtp.gmail.com
Yahoo - smtp.mail.yahoo.com
Hotmail - smtp-mail.outlook.com
一般來說,公司內部都會有自己的SMTP Server Domain Name,長得可能像 "smtp.mycompany.com"。要用公司系統寄信的話就必須要取得這部分的資訊(建議跟資安人員確認)。