我想每天早上11点发送电子邮件

时间:2019-09-09 08:51:50

标签: python django email

我想每天晚上11点使用Python发送电子邮件。 但是我不知道每天早上11点发送邮件很热。现在,我可以编写代码发送电子邮件了。

from django.core.mail import EmailMessage

def send?email(self):
        email = EmailMessage(subject, message, None, email_to)
        email.send(fail_silently=False)

我检查了此文档,但找不到在指定时间发送电子邮件的方法。 https://docs.python.org/3/library/email.message.html

4 个答案:

答案 0 :(得分:2)

您需要在要求的时间使用cron(在Linux上)或(在Windows上)。

此链接是一个很好的起点 https://medium.com/@harishoraon/writing-your-first-cron-job-in-django-ed62b805d822

答案 1 :(得分:0)

您可以使用Advanced Python Scheduler软件包。使用该软件包,可以轻松地在特定时间执行特定任务。您可以在https://apscheduler.readthedocs.io/en/latest/

处收集更多信息。

答案 2 :(得分:0)

如果您希望通过服务而不是其他提到的调度工具来调度它,我发现 WayScript 特别适合于调度代码运行。 WayScript Platform

答案 3 :(得分:0)

执行此操作的粗略但实用的方法是运行无限循环,检查时间并在上午11点触发函数

import datetime
import time

while True:
    # Removing the date and microseconds from the full format
    t = str(datetime.datetime.now())[11:-7]

    if t == "11:00:00":
        send_email()

        # Wait for a second so it doesn't trigger the function more times
        time.sleep(1)