PythonからOutlookのメールを送信する
すぐ忘れるのでメモメモ
処理に時間かかるものとか、いつ終わったか確認するのも面倒なのでメールで通知させるようにしたくて。
モジュール
outlookを操作するためにはwin32com.clientをインポートします。
import win32com.client
Anacondaにはもともと入ってましたが、入ってない場合はpipかなんかでGetして下さい。
使い方
それでは、Outlookでメールを送信するための方法です。
Outlookオブジェクトを作成する
outlook = win32com.client.Dispatch("Outlook.Application")
メールオブジェクトを作成する
mail = outlook.CreateItem(0)
CreateItem(n)のnのところを変更することで、メールや予定表など作成するオブジェクトの種類を変更する事もできます。メールは「0」なので、今回は0で設定します。
メールオブジェクトのメールの内容を設定する
出来たメールオブジェクトを使って、宛先などメールの中身を設定していきます。
説明 | |
---|---|
main.to | 宛先 |
mail.cc | CC |
mail.bcc | BCC |
mail.subject | 件名 |
mail.bodyFormat | メール書式 1:テキスト 2:HTML 3:リッチテキスト |
mail.body | 本文 |
mail.to = 'sample_to@*******.com'
mail.cc = 'sample_cc@*******.com'
mail.bcc = 'sample_to@*******.com'
mail.subject = 'サンプル件名'
mail.bodyFormat = 1
mail.body = '''サンプル本文
これはサンプルの本文です。
'''
必要ないものは飛ばしてくださいね。
メールを送信する
# 確認画面を表示する
mail.Display(True)
# 送信する
mail.Send()
mail.Display(True)で送信前の確認が出来ます。
mail.Send()で実際に送信です。
mail.Send()は、mail.send()と「S」が小文字で紹介されているサイトもありましたが、僕の場合は小文字だとエラーが出るんで大文字にしました。
コメント