close

【win32com】用python控制outlook:用outlook自動寄信吧!python用最簡單的方法寄出outlook email

一、前言

用python控制email自動寄信,不管是辦公還是偷懶都是各種好用,每天都要寄的報告一鍵寄出。

win32com模組主要為Python 提供調用windows對word、Excel、PPT、Outlook 等來做控制,且需要安装對應軟件等(office)。

(切記win32com只能在WIN環境下使用)

 

 

二、使用win32com來控制outlook自動寄信全解

其實就這樣而已,很簡單吧。其他我們來說說幾個要注意的地方。

首先 outlook = win32.Dispatch('outlook.application')告訴程式我們要使用win中的outlook。

mail = outlook.CreateItem(0) 創立一個mail信件。

account= win32.Dispatch("Outlook.Application").Session.Accounts.Item(1) 選擇我們要寄出的account,如果只有一個account就1,依此類推。

mail._oleobj_.Invoke(*(64209,0,8,0,account)) 選擇好account之後告訴程式我要用這account寄件。

receivers = ['xxxxxx@gmail.com']  設定收件者信箱。有多位的話就 receivers = ['xxxxxx@gmail.com;ooooo@gmail.com;oxoxoxox@gmail.com;'] (反正list裡面放字串就對了)

而後用mail.To = receivers[0]及mail.CC = receivers[0]來指定收件者及副本等。

mail.Subject ='test'設定標題,這個應該就不用我說了。

內容的部分用 mail.Body = '你好聰明',但如果你想要有自型大小等可以用 mail.HTMLBody = '<h1>你好聰明</h1>' 前提是要懂一點html。

(不清楚可以看這篇 【html】認識常用標籤:一個網站基本上會建立的標籤與順序(網頁設計教學(一)之補充A) )

mail.Attachments.Add(r'C:\Users\asus\Desktop\新文字文件.txt') 夾帶附件。

mail.Send() 寄出信件。這邊要特別注意,寄出後要再寄要從 mail = outlook.CreateItem(0) 創立信件開始。

 

import win32com.client as win32

# =============================================================================
# 基本設定
# =============================================================================
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)

# =============================================================================
# 帳戶設定
# =============================================================================
account= win32.Dispatch("Outlook.Application").Session.Accounts.Item(1)
mail._oleobj_.Invoke(*(64209,0,8,0,account))

# =============================================================================
# 收件設定
# =============================================================================
receivers = ['xxxxxx@gmail.com']
# receivers = ['xxxxxx@gmail.com;ooooo@gmail.com;oxoxoxox@gmail.com;'] # 多位收件者
mail.To = receivers[0]
mail.CC = receivers[0]
mail.Subject ='test'

# =============================================================================
# 內容設定
# =============================================================================
#mail.Body = '你好聰明'
mail.HTMLBody = '<h1>你好聰明</h1>'
mail.Attachments.Add(r'C:\Users\asus\Desktop\新文字文件.txt') 

# =============================================================================
# 寄件
# =============================================================================
mail.Send()

 

 

三、後記

第一步踏出來就是這麼簡單,歡迎大家支持恩哥Python,你的鼓勵跟打賞是我撰寫文章的原動力!

 

 

arrow
arrow

    恩哥Python 發表在 痞客邦 留言(0) 人氣()