使用python自動化郵件處理可節省時間,具體步驟:1.利用smtplib和email庫構造郵件內容并通過smtp發送;2.用pandas讀取excel聯系人列表并循環發送個性化郵件;3.配置定時任務實現自動運行。日常辦公中,重復耗時的郵件任務可通過編程解決,首先導入smtplib和email模塊構建郵件頭、正文及附件,連接smtp服務器發送郵件,例如通過qq郵箱的smtp地址smtp.qq.com并使用授權碼登錄;接著,使用pandas讀取contacts.xlsx文件中的收件人信息,在循環中動態替換郵件模板中的變量,如“親愛的{{name}}”,提升郵件專業度;最后將腳本配置為定時任務,windows可用任務計劃程序,mac/linux可用crontab,確保機器開機且聯網狀態下按時執行,并建議加入日志記錄和異常捕獲機制以增強穩定性。掌握這些核心技巧后,即可快速搭建自己的郵件自動化系統。
在日常辦公中,郵件處理常常是重復又耗時的工作。如果你每天都要發幾十封內容類似但收件人不同的郵件,或者需要定時給固定人群發送報表、通知等信息,python 可以幫你輕松實現自動化,把這部分時間省下來做更有價值的事。
下面分享幾個實用的技巧,幫助你用 Python 快速上手批量處理郵件任務。
使用 smtplib 和 email 庫發送基礎郵件
Python 自帶的 smtplib 和 email 模塊已經足夠完成基本的郵件發送功能。你可以用它們構造郵件內容(包括正文、附件等),并通過 SMTP 協議發送出去。
立即學習“Python免費學習筆記(深入)”;
操作步驟:
- 導入必要的模塊
- 構建郵件頭(發件人、收件人、主題)
- 編寫郵件正文和添加附件
- 連接 SMTP 服務器并登錄
- 發送郵件并關閉連接
舉個例子,比如你要通過 QQ 郵箱發送郵件,SMTP 地址是 smtp.qq.com,端口一般是 465 或 587。你需要先在郵箱設置里開啟 SMTP 并獲取授權碼,而不是使用你的登錄密碼。
批量發送郵件的關鍵:讀取聯系人列表
要實現“批量”效果,關鍵在于如何從 Excel 或 CSV 文件中讀取聯系人信息,并循環調用發送函數。
建議做法:
- 使用 pandas 讀取 Excel 表格,結構清晰
- 每行數據對應一個收件人,字段包括姓名、郵箱、個性化內容等
- 在循環中動態替換郵件模板中的變量,比如“親愛的 {{name}}”
這樣可以做到每封郵件看起來像是專門寫的,提升專業度。
例如:
import pandas as pd df = pd.read_excel("contacts.xlsx") for index, row in df.iterrows(): send_email(row['email'], subject="專屬通知", name=row['name'])
加入定時任務,真正實現“自動”
如果你希望每天早上 9 點準時發送郵件,不用每次手動運行腳本,可以把這個 Python 腳本加入系統定時任務。
windows 上可以用任務計劃程序,Mac/linux 可以用 crontab。
簡單配置后,即使你不打開電腦,腳本也會按時執行。當然,前提是你的機器處于開機狀態且網絡暢通。
注意幾點:
- 測試階段建議加日志記錄,方便排查問題
- 如果郵件內容依賴外部數據(如報表文件),確保這些文件也自動生成或更新
- 定時任務最好加上異常捕獲機制,避免失敗后無人知曉
基本上就這些。掌握這幾個核心點,你就可以寫出一套屬于自己的郵件自動化系統了。雖然看起來有點技術含量,其實真做起來也不復雜,關鍵是思路清晰,細節到位。