Python で Outlook 電子メールを自動化する方法
Python について語るとき、機能がどこまで広がっているか、ほんの数個のコードで何ができるかを見過ごすことは困難です。今日では、電子メールの送受信が最も重要であり、Microsoft Outlook での Python の電子メール自動化により、より便利になっています。
Python に 1 回のインスタンスで実行させることができるのに、電子メール クライアントで電子メールをコンパイルするのに無限の時間を費やす必要はありません。興味がある場合は、Microsoft Outlook を使用して Python から自動メールを送信する方法を確認するために読み進めてください。
いくつかの前提条件を満たす
このガイドで参照されている 2 つの主要なプラットフォームを考慮すると、これらは、この単純でありながら役立つタスクを有効にするための前提条件です。開始するには、以下をダウンロードしてインストールします。
- Microsoft Outlook:システムに MS Outlook アプリケーションがインストールされ、実行されている必要があります。メール構成に関する制限がないため、Outlook では任意のメール ドメインを使用できます。
- win32com.client:このサードパーティ ライブラリは、Microsoft アプリケーションに接続するために不可欠です。Microsoft Outlook はそのようなアプリケーションの 1 つであるため、Outlook 交換サーバーに接続するには Python 内にこのライブラリが必要です。
Microsoft Outlook は最も古く、最も広く使用されている電子メール クライアントの 1 つであり、Gmail と Yahoo に次いで最も人気のある電子メール プロバイダーのリストにランクされています。このガイドでは、Gmail アドレスは Outlook 内で構成されます。
win32com.client のインストール
win32com.client はこのコードの不可欠な側面であり、Microsoft Outlook と Python の間の接続を確立するには、完全に機能するライブラリが必要です。
win32com.client のバージョンを確認する
インストールする前に、 win32com が既にマシンにインストールされているかどうかを確認できます。一部の IDE バージョンでは、デフォルトでこのパッケージが提供されます。次のコマンドで利用可能かどうかをクロスチェックできます。
python -m pip show pywin32
上記のコマンドの実行中に‘pip’ が内部コマンドまたは外部コマンドとして認識されないというエラーが発生した場合は、Windows、Mac、および Linux に pip をインストールして、ライブラリのインストールがシームレスであることを確認してください。
上記のコマンドを実行した後、バージョン番号を受け取った場合は、再度インストールする必要はありません。
その後、次のエラー メッセージが表示された場合は、システムにwin32comライブラリをインストールする必要があります。
'pywin32' is not recognized as an internal or external command, operable program, or batch file.
win32com ライブラリのインストール
プロンプトを開き、pipコマンドを入力して、ターミナル ウィンドウからライブラリをインストールします。
python -m pip install pywin32
画面の指示に従ってプロセスを完了します。インストール後に–showコマンドを使用して、 win32comがシステムに正常にインストールされているかどうかを確認できます。
python -m pip show pywin32
Outlook を使用して Python から電子メールを送信する
前提条件が整ったので、コードの作成を開始します。まず、importステートメントを使用してwin32com.clientライブラリをインポートする必要があります。
import win32com.client
Python と Microsoft の電子メール アプリケーションである Outlook を接続するコードを記述できるようになりました。
ol = win32com.client.Dispatch('Outlook.Application')
どこ:
- ol : 接続参照を格納する新しい変数。
- win32com.client : Python と Outlook 間の接続を確立するための Windows ライブラリ。
- Dispatch : 接続を作成する関数。
- Outlook.Application : これは、必要に応じて任意の Microsoft アプリケーション名に置き換えることができます。
次に、コンテンツを更新する必要がある場所を Python が理解できるように、新しい電子メール メッセージのサイズを定義する必要があります。
# size of the new email
olmailitem = 0x0
どこ:
- olmailitem : ディメンションを格納する新しい変数。
- 0x0 : Python のメモリ内の新しい電子メール メッセージのサイズ。
Python の関数は、電子メール本文のサイズを定義するとすぐに、新しい電子メール アイテムを開きます。
newmail = ol.CreateItem(olmailitem)
どこ:
- newmail : 新しい電子メール参照を格納するための新しい変数。
- ol : Python と Outlook の間で以前に作成された接続の参照。
- CreateItem(olmailitem) : 新しい電子メールの下書きを作成するコマンド。
すべての電子メールは件名行なしでは不完全であるため、コード内で件名を定義して、受信者に電子メールを送信する前に Python が自動的に件名を追加するようにすることができます。これは受信者に表示されるため、ケースとコンテンツを定義する方法に注意してください。
newmail.Subject = 'Testing Mail'
どこ:
- newmail : 新しいメール アイテムの参照を格納する変数。
- 件名: これは、メールの件名にしたい内容によって異なります。
次のように、ToおよびCCキーワード内に目的の受信者を追加できます。
newmail.To = 'xyz@gmail.com'
newmail.CC = 'xyz@gmail.com'
どこ:
- To : 主な受信者の電子メール アドレス。
- CC : コピーされたメール受信者。
Python を使用すると、複数の受信者にメールを送信できます。To/CC 列内の電子メール ID の間にセミコロン (;)セパレーターを追加します。
最後に、件名と受信者を定義したら、ToおよびCC列内の受信者に送信する前に、電子メール本文を新しいメール アイテムに追加できます。
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
メールに添付ファイルを追加するには、次のコマンドを使用できます。
attach = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
newmail.Attachments.Add(attach)
メールを送信する準備ができたら、使用できるオプションが 2 つあります。受信者に送信する前にメールのプレビューが必要な場合は、次のようにDisplay()コマンドを使用できます。
newmail.Display()
事前に確認せずにメールを送信する場合は、Send()コマンドを使用できます。
newmail.Send()
[送信]コマンドを直接使用した場合、メールのプレビューは表示されないことに注意してください。メール本文の内容を定期的に変更する場合は、このコマンドを賢く使用してください。Python コードを一度に使用して、ライブラリをインポートし、接続を確立して、電子メールをすばやく送信できます。
完全なコードは次のとおりです。
import win32com.client
ol=win32com.client.Dispatch("outlook.application")
olmailitem=0x0 #size of the new email
newmail=ol.CreateItem(olmailitem)
newmail.Subject= 'Testing Mail'
newmail.To='xyz@gmail.com'
newmail.CC='xyz@gmail.com'
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# newmail.Attachments.Add(attach)
# To display the mail before sending it
# newmail.Display()
newmail.Send()
Python 電子メール自動化の利点
Python 電子メール オートメーションを使用すると、MS Outlook を開かなくても、Python インターフェイスから直接電子メールを送信できます。Python の熱心なユーザーで、電子メール クライアントを繰り返し開いて電子メールを入力することにあまり熱心でない場合は、プログラミング言語に任せることができます。
数行のコードで Python を使用して自動化された電子メールを送信できるのに、繰り返しのタスクに何時間も費やす必要はありません。
コメントを残す