创建常规电子邮件

时间:2013-02-26 14:36:19

标签: django cron

我是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

1 个答案:

答案 0 :(得分:0)

所以我认为我正在查看较旧版本的文档。在SendMail类中,该方法应该是“do”而不是“job”。同时,邮件只发送一次而不是每分钟发送一次。