我想每天晚上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
答案 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)