Sending Bulk email in Django

Nilesh picture Nilesh · Jun 29, 2014 · Viewed 9.1k times · Source

I have to send bulk email in django, the email template will be will be customized and the some data in the template will be coming from db. i twas using django notification but it can only send email to the registered users. I have to send emails to the non-registered users. there will be five email template the user can select any one and the email has to be sent.

For ex. An invitation to the event to the group of non-registered users. user will enter email ids, and will do a bulk send. which django package can i use to achieve the same.

Answer

ruddra picture ruddra · Jun 29, 2014

You can use django's default sending multiple email system. From here: https://docs.djangoproject.com/en/dev/topics/email/#sending-multiple-emails

You can try like this:

from django.core import mail
connection = mail.get_connection()

connection.open()
reciever_list= ['[email protected]', '[email protected]']  #extend this list according to your requirement
email1 = mail.EmailMessage('Hello', 'Body goes here', '[email protected]',
                          reciever_list, connection=connection)
email1.send()
connection.close()

For bulk email reference, you can check this so answer: How does one send an email to 10,000 users in Django?

Edit

From this stackoverflow answer, you can send emails with template. If you use django 1.7, html_message can be added as perameter of send_mail(). Details here.

By the way, for mass email handling, django has send_mass_mail() method.