【问题标题】:Creating a regular email创建常规电子邮件
【发布时间】:2013-02-12 01:27:45
【问题描述】:

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

【问题讨论】:

  • 我遇到了完全相同的情况。但你的回答并没有澄清事情。能详细解释一下吗?

标签: django cron


【解决方案1】:

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

【讨论】:

  • 我不明白你的回答。您的意思是在将 def job 更改为 'def do' 后,每分钟都会发送电子邮件吗?
猜你喜欢
  • 2013-07-25
  • 2013-04-25
  • 2018-01-27
  • 1970-01-01
  • 1970-01-01
  • 2015-05-12
  • 2011-02-26
  • 2011-12-02
  • 2014-09-05
相关资源
最近更新 更多