django芹菜电子邮件后端。

django-celery-email-with-retr的Python项目详细描述


使用Celery队列进行带外发送的Django电子邮件后端 的消息。

此fork恢复在尝试Task.max_retries次后停止重试的重试逻辑, 其中默认值为3

使用django芹菜电子邮件

要为项目启用django-celery-email,您需要将djcelery_email添加到 INSTALLED_APPS

INSTALLED_APPS += ("djcelery_email",)

然后必须将django-celery-email设置为EMAIL_BACKEND

EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'

默认情况下,django-celery-email将使用django的内置SMTP电子邮件后端 为邮件的实际发送。如果你想使用另一个后端,你 可以在CELERY_EMAIL_BACKEND中设置它,就像您通常设置的那样 EMAIL_BACKEND在你用芹菜之前。实际上,正常的安装 程序很可能是只使用django让你的电子邮件正常工作,然后 将EMAIL_BACKEND更改为CELERY_EMAIL_BACKEND,然后添加新的 EMAIL_BACKEND从上面设置。

如果需要设置任何设置(属性),通常可以在 Celery Task类如果是您自己编写的,可以在^{tt15}中指定它们$ 在CELERY_EMAIL_TASK_CONFIG设置中:

CELERY_EMAIL_TASK_CONFIG = {
    'queue' : 'email',
    'rate_limit' : '50/m',
    ...
}

有一些默认设置。除非另有说明,否则 将应用以下设置:

CELERY_EMAIL_TASK_CONFIG = {
    'name': 'djcelery_email_send',
    'ignore_result': True,
}

安装完成后,如果芹菜安装正常,请发送 电子邮件将像以前一样工作,只是发送将是 由芹菜工人负责:

from django.core import mail

emails = (
    ('Hey Man', "I'm The Dude! So that's what you call me.", 'dude@aol.com', ['mr@lebowski.com']),
    ('Dammit Walter', "Let's go bowlin'.", 'dude@aol.com', ['wsobchak@vfw.org']),
)
results = mail.send_mass_mail(emails)

results将是一个芹菜AsyncResult对象列表,您可以忽略这些对象,或者使用它来检查 电子邮件传递任务的状态,如果需要,甚至等待它完成。你必须启用一个结果 后端并在CELERY_EMAIL_TASK_CONFIG中将ignore_result设置为False,如果您想使用它们的话。 有关详细信息,请参见Celery docs

len(results)将是您尝试发送的电子邮件数,决不会反映成功或失败 他们的交货。

更改日志

1.0.3-2012.03.06

  • 后端现在将传递初始化为 电子邮件发送后端。
  • 感谢Fedor Tyurin的贡献。

1.0.2-2012.02.21

  • 任务和后端现在接受可以在信号处理程序中使用的Kwargs。
  • 任务现在从电子邮件发送后端返回结果。
  • 感谢Yehonatan Daniv所做的这些更改。

1.0.1-2011.10.06

  • 修正了导致任务抛出错误并报告成功的错误。
  • 如果发送电子邮件后端引发异常,则任务的结果将 现在是例外。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Google Gson不允许在属性名中使用“@”   java如何在Eclipse中扩展变量视图中的所有节点?   Eclipse在构建Jar文件时如何选择要编译的Java方法?   java单击某些ListView项目时如何拨打特定号码   spring不断获得java。lang.ClassNotFoundException:com。太阳面孔。配置。配置侦听器   datetime如何使用Java ZoneId。systemDefault()如果我的计算机未连接到Internet,是否知道时区?   如何使用xml配置文件、JAVA、Spring安全性通过LDAP对用户进行身份验证   java如何在Android的Fragment中创建Yes/NO警报对话框   多维数组将1D转换为2D java。lang.ArrayIndexOutOfBoundsException   内存不足Java OutOfMemoryException无法创建新的本机线程   java countbycount矩阵。如何制作循环结构   以最小的开销从并行类执行java方法   java同步两款安卓平板电脑   java Heroku,Play Framework 2.0运行,但javascript或CSS不显示   java正则表达式,仅选择不以逗号结尾的URL   java methodlocal内部类的用途是什么?   java如何对MySql数据库进行排序?   POST http请求后java在浏览器中动态更新jsp页面   java Hibernate,替换hql中的空值