Python/Django: sending emails in the background Python/Django: sending emails in the background django django

Python/Django: sending emails in the background


Use celery as a task queue and django-celery-email which is an Django e-mail backend that dispatches e-mail sending to a celery task.


Another option is django-mailer. It queues up mail in a database table and then you use a cron job to send them.

https://github.com/pinax/django-mailer


A thread may be a possible solution. I use threads intensively in my application for haevy tasks.

# This Python file uses the following encoding: utf-8#threadingfrom threading import Thread...class afegeixThread(Thread):    def __init__ (self,usuari, parameter=None):        Thread.__init__(self)        self.parameter = parameter        ...    def run(self):                errors = []        try:             if self.paramenter:                   ....        except Exception, e:                             ......n = afegeixThread( 'p1' )n.start()