我是django-cron的新手,正在尝试定期发送邮件。我一直在db shell中运行以下命令:

from django.core.mail import EmailMessage
email = EmailMessage('Subject', 'Body', to=['address@mail.com'])
email.send()


效果很好。我在其中一个应用程序中创建了以下cron.py:

from django_cron import CronJobBase, Schedule
from django.core.mail import EmailMessage

class SendMail(CronJobBase):

    RUN_EVERY_MINS = 1

    schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
    code = 'apps.appname.cron.SendMail'

def job(self):
    email = EmailMessage('Subject', 'Body', to=['address@mail.com'])
    email.send()


在我的设置中,我有:

CRON_CLASSES = [
    "apps.appname.cron.SendMail",
]


最后在命令行中运行

env/bin/python manage.py runcrons --settings=settings.dev


我希望这能每分钟发送一次邮件,但是尽管我没有看到任何命令行错误,但是邮件没有被发送。

任何帮助,不胜感激

C

最佳答案

所以我想我在看文档的旧版本。在SendMail类中,该方法应为“ do”而不是“ job”。同时,尽管邮件仅发送一次,但每分钟发送一次。

关于django - 创建常规电子邮件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15091776/

10-16 23:41