使用djcelery发送邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用djcelery发送邮件相关的知识,希望对你有一定的参考价值。

发送邮件作为一个独立的业务模块,我们把它放到另外一个文件中,定义一个task文件,里面定义发送邮件的功能, 需要用到django.core.mail 里面的send_mail这个函数 发送邮件与网络环境和服务器负载有关,有时需要等待一会才会完成,为了提高用户体验,需要借用celery。

技术分享

 

 

 

? 任务task:就是一个Python函数。
? 队列queue:将需要执行的任务加入到队列中。
? 工人worker:在一个新进程中,负责执行队列中的任务。
? 代理人broker:负责调度,在布置环境中使用redis。
从celery中导入task。
setting中要进行配置:import djcelery--> djcelery.setup_loader()---->
BROKER_URL=‘redis://127.0.0.1:6379/3 用task装饰器装饰发送邮件的函数 @task send_register_email,这样发送邮件就成了一个个任务,然后放到任务队列中,(此处我们使用redis作为任务队列)------>send_register_email.delay(),注意,后面的括号写任务函数的参数(若有)。
最后我们发现只有worker还没有启动,那么就启动worker吧: python manage.py celery worker --loglevel=info








以上是关于使用djcelery发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

Java发送邮件

使用 Java 发送邮件

使用Java程序发送邮件|发送有附件的邮件|进行邮件群发

logback 发送邮件和自定义发送邮件;java类发送邮件

重学Springboot系列之邮件发送的整合与使用

ODOO邮件发送集成