使用芹菜的异步django电子邮件后端
django-celery-email的Python项目详细描述
使用django芹菜电子邮件
要为您的项目启用django芹菜电子邮件,您需要将django芹菜电子邮件添加到 已安装的应用程序
INSTALLED_APPS += ("djcelery_email",)
然后,您必须将django芹菜电子邮件设置为您的电子邮件后端
EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
默认情况下,django芹菜电子邮件将使用django内置的smtp电子邮件后端。 为邮件的实际发送。如果你想使用另一个后端,你 可以在 芹菜电子邮件后端设置它 在使用芹菜之前给后端发邮件。实际上,正常的安装 程序很可能是只使用django让你的电子邮件正常工作,然后 将电子邮件后端更改为芹菜电子邮件后端,然后添加新的 电子邮件后端 从上面设置。
群发邮件按大小分组发送(默认为10)。
如果需要设置任何设置(属性),通常可以在 芹菜任务 类如果是您自己编写的,可以在a dict中指定它们 在 芹菜电子邮件任务配置设置中:
CELERY_EMAIL_TASK_CONFIG = { 'queue' : 'email', 'rate_limit' : '50/m', # * CELERY_EMAIL_CHUNK_SIZE (default: 10) ... }
有一些默认设置。除非另有说明,否则 将应用以下设置:
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)
结果 将是一个芹菜列表,其中包含您可以忽略或用于检查 电子邮件传递任务的状态,如果需要,甚至等待它完成。你必须启用一个结果 后端并在芹菜电子邮件任务配置中将ignore_result设置为false。 如果您关心任务状态,还应该在"设置"中设置 芹菜电子邮件块大小=1 。 以及结果。
有关详细信息,请参见 芹菜文档 。
len(results) 将是您尝试发送的电子邮件数量除以芹菜电子邮件大小,决不会反映成功或失败 他们的交货。