内部の工数削減のために駆り出されました。。。
『ある条件成立時に、メールを送ってほしい』との事!
その為、今回はPythonで『メールの送信方法』を作りたいと思います。
メールの送信で使うパッケージ 【win32com.client】
他にもあったのですが、次回の機会にして今回はこのパッケージ【 win32com.client 】でいきます。
まずは、メールを送る前準備の行っていきます。
import win32com.client #魔法の言葉で、Outlookを使える状態に outlook = win32com.client.Dispatch("Outlook.Application") #instance生成(メール) mail = outlook.CreateItem(0)
[ mail = outlook.CreateItem(0) ]部分はメールを使うときは、「0」にします。
0 : メール 1 : 予定 2 : 連絡先 3 : タスク
メールを作成する
メールを作成していきます。
#送信先 mail.to = "************@gmail.com;" #件名 mail.subject = "【自動送信】メールテスト" #MailFormat Text mail.bodyFormat = 1 #Mail本文 mail.body = "Hallow world!!"
見た目通りですが簡単に説明します。
to:送信先 subject:件名 bodyFormat:形式(1:テキスト / 2:HTML / 3:リッチテキスト) body:本文
outlookの画面では下記の部分
メールの送信
基本的には確認無しで送りたいですが、確認する事もできます。
#メール内容確認 mail.display(True) #メール送信 #mail.Send()
【 display(True) 】で確認ができます。
確認せずに送る時は、Send()で送信することができます。
差出人を変更したい時
自分が困ったのはココでした。。。
自分のoutlookには、メールアドレスが複数(メール①とメール②)あったのです。
しかし、メールの差出人はいつもメール①になり、メール②で送れないか考えました。
結果として、このパッケージでは、差出人を指定する事はできそうにありませんでした。
そこで、【新規メール作成のデフォルトを変更すること】で対応することにしました。
ウィンドウ上部の【ファイル】→【オプション】
【メール】→【新しいメッセージを作成するときはいつも既定のアカウントを使う(U)】にチェック
次に『既定のアカウントを変更』したいと思います。
ウィンドウ上部の【ファイル】→【情報】→【アカウント設定】→【アカウント設定】
【メール】のタブから、アカウントを選択して、【既定に設定】をクリック
この設定をする事で、今回のメール作成のScriptの差出人は、指定する(?)することができました。
まとめ
本当にメールを自動で作ってくれるようになり、定期的なメールはこれで対応できそうです。
さすがPythonだなぁ~って思うくらいソースコードは少ないですね。
最後に今回のサンプルソースを記載しておきます。
残りは自分たちの状況に応じて、アレンジしてください。
import win32com.client #魔法の言葉で、Outlookを使える状態に outlook = win32com.client.Dispatch("Outlook.Application") #instance生成(メール) mail = outlook.CreateItem(0) #送信先 mail.to = "************@gmail.com;" #件名 mail.subject = "【自動送信】メールテスト" #MailFormat Text mail.bodyFormat = 1 #Mail本文 mail.body = "Hallow world!!" #メール内容確認 mail.display(True) #メール送信 #mail.Send()
業務でプログラミング(C#/VB/Python)を作っている。
挫折を何回も繰り返し、幾度の壁を乗り越えてきた。
乗り越えてきた事を忘れないように記録に残す。
同じ思いをしている人への情報提供になれたらと思う。
基本は初心者に向けたプログラムの情報を提供する。
コメント