前提
win32comとscheduleの組み合わせてoutlook mail を定期送信する練習をしています。
時間指定の1回目はうまくいきますが、2回目以降が送信されません。
実現したいこと
2回目以降も送信されるようにしたいので、誤りや正しいコードを教えて頂きたいです。
よろしくお願い致します。
発生している問題・エラーメッセージ
2回目以降のメールが送られないだけで、特に、エラーメッセージは出ていません。
なお、cmdでは、下記のように繰り返し実行されている表示がでます。
Microsoft Windows [Version 10.0.XXXXX] (c) Microsoft Corporation. All rights reserved. C:\Users\hiron>python メール文面サンプル.py C:\Users\hiron>python 時間指定ファイル_メール送信.py 実行します 実行します 実行します 実行します 実行します 実行します
該当のソースコード
python3
1###【送るメールの文面:メール文面サンプル.py】### 2import win32com.client 3#メールの送信 4outlook = win32com.client.Dispatch("Outlook.Application") 5mail = outlook.CreateItem(0) 6mail.to = 'XXXXXXX@XXXXXXXXX.com' 7mail.cc = '' 8mail.bcc = '' 9mail.subject = 'これは定期実のテストです ' 10mail.bodyFormat = 2 11 12mail.HTMLBody = f'''<p>関係各位</p> 13 14<p>テストテストテスト</p> <p>よろしくお願いいたします。</p> '''+ '\n' 15 16mail.Send()``` 17 18###【schedule の設定内容:時間指定ファイル_メール送信.py】#### 19import schedule 20import time 21 22def work(): 23 import メール文面サンプル 24 print("実行します") 25 26schedule.every(1).minutes.do(work) 27while True: 28 schedule.run_pending() 29 time.sleep(1)
試したこと
今は、1分ごとに設定していますが、2分や5分や10分でも同じく、2回目だけがメール送信されませんでした。
(cmdでは、繰り返し実行できている表示が出ます)
また、windows のタスクスケジューラーで、メール文面サンプル.py を登録してみたところ、2回目以降もメール送信確認できました。なぜschedule でできないのか知りたいです。
環境
OS : windows10
Outlook : Microsoft Office Home and Business 2019
回答1件
あなたの回答
tips
プレビュー