新年第一天Python練習:Python Gmail寄信,跟著彭彭老師影片教學跟著做,加上email.message這個模組,整個練習過程蠻順利的!是很好的開始。
另外,報名了第一屆《Python資料科學程式馬拉松》,接下來要加快自主練習的步調。
本篇文章內容
前置作業:
在開始透過Python來使用Gmail寄信之前,有兩個準備,一個是找到Gmail的主機名稱和連線埠(SMTP,讓程式連線用),另外一個因為我帳號有設定兩階段認證,所以必須設定一組Google應用程式密碼。
1.找到Gmail主機名稱和連線埠
因為是使用Google大神的Gmail來練習,所以這個資訊很好找!
在說明中心透過其他電子郵件平台查看 Gmail一文中,清楚標示Gmail的主機名稱和連線埠。
外寄郵件 (SMTP) 伺服器 | 主機名稱:smtp.gmail.com 安全資料傳輸層 (SSL) 通訊埠:465 |
2.設定Google應用程式密碼
在有啟用兩步驟驗證功能的帳戶必須使用應用程式密碼登入帳戶,並且在練習後刪除(安全起見),如果你的Google帳號沒有開啟兩階段驗證,這步驟就可以跳過。
Python Email寄信流程
- 使用email.message模組建立內容(建立物件放入資訊)
- 使用smtplib模組發送信件(用來連線、發送)
- 驗證寄件人身份
怎麼用Python寄Email?
載入email.message模組
import email.message
建立email訊息物件
msg=email.message.EmailMessage()
利用物件建立基本設定
from_a=input(“請輸入寄件人信箱:”)
to_b=input(“請輸入收件人信箱:”)
msg[“From”]=from_a
msg[“To”]=to_b
msg[“Subject”]=”你好”
輸入寄送郵件主要內容
msg.add_alternative(“<h3>HTML內容</h3>安安這是寄送郵件測試”,subtype=”html”) #HTML信件內容
連線到SMTP Sevver
acc=input(“請輸入gmail帳號:”)
password=input(“請輸入密碼”)
server=smtplib.SMTP_SSL(“smtp.gmail.com”,465) #建立gmail連驗
server.login(acc,password)
server.send_message(msg)
發送完成後關閉連線
server.close()
利用Python從Gmail寄信:實作練習(HTML)
#準備訊息物件設定 #載入模組 import email.message #建立訊息物件 msg=email.message.EmailMessage() #利用物件建立基本設定 from_a=input("請輸入寄件人信箱:") to_b=input("請輸入收件人信箱:") msg["From"]=from_a msg["To"]=to_b msg["Subject"]="你好" #寄送郵件主要內容 #msg.set_content("測試郵件純文字內容") #純文字信件內容 msg.add_alternative("<h3>HTML內容</h3>安安這是寄送郵件測試",subtype="html") #HTML信件內容 acc=input("請輸入gmail帳號:") password=input("請輸入密碼") #連線到SMTP Sevver import smtplib #可以從網路上找到主機名稱和連線埠 server=smtplib.SMTP_SSL("smtp.gmail.com",465) #建立gmail連驗 server.login(acc,password) server.send_message(msg) server.close() #發送完成後關閉連線
本次練習檔與影片
練習檔:Day13(12/30)Python Email 發送電子郵件
影片:Python Email 發送電子郵件 – 基本教學
【Python新手練習】相關文章
【Python新手練習】系列文,是一個行銷人學習Python的筆記,希望可以藉由練習程式,訓練更強大的邏輯思考,如果你也對這塊有興趣,這些文章或許可以幫助到你!也歡迎一起交流。
行銷人的Python練習90計畫-為什麼要學Python?
Day0:Google Colab新手Python開發環境推薦
Day1:Python變數與資料型態
Day2:Python判斷式與迴圈(流程控制)
Day3:Python函式 定義、呼叫與回傳
Day4:載入Python模組與使用
Day5:Python檔案讀取和儲存
Day6:Python亂數與統計
Day7:Python API 開放資料串接,抓取台北市政府公開資料!
Day8:Python實體物件建立與使用
Day9:Python爬蟲實戰!抓取PTT電影版
發佈留言