Python Gmail寄信實作!輕鬆達成用Python寄email(SMTP設定)【Python練習Day13】

新年第一天Python練習:Python Gmail寄信,跟著彭彭老師影片教學跟著做,加上email.message這個模組,整個練習過程蠻順利的!是很好的開始。

另外,報名了第一屆《Python資料科學程式馬拉松》,接下來要加快自主練習的步調。

使用Python Gmail寄信實作!輕鬆達成用程式寄email(SMTP設定)【Python練習Day13】
使用Python Gmail 寄信實作!輕鬆達成用程式寄email(SMTP設定)【Python練習Day13】

前置作業:

在開始透過Python來使用Gmail寄信之前,有兩個準備,一個是找到Gmail的主機名稱和連線埠(SMTP,讓程式連線用),另外一個因為我帳號有設定兩階段認證,所以必須設定一組Google應用程式密碼

1.找到Gmail主機名稱和連線埠

因為是使用Google大神的Gmail來練習,所以這個資訊很好找!

在說明中心透過其他電子郵件平台查看 Gmail一文中,清楚標示Gmail的主機名稱和連線埠

外寄郵件 (SMTP) 伺服器主機名稱:smtp.gmail.com
安全資料傳輸層 (SSL) 通訊埠:465

2.設定Google應用程式密碼

在有啟用兩步驟驗證功能的帳戶必須使用應用程式密碼登入帳戶,並且在練習後刪除(安全起見),如果你的Google帳號沒有開啟兩階段驗證,這步驟就可以跳過。

Python Email寄信流程

  1. 使用email.message模組建立內容(建立物件放入資訊)
  2. 使用smtplib模組發送信件(用來連線、發送)
  3. 驗證寄件人身份

怎麼用Python寄Email?

image

載入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電影版

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *