DjangoAsyncMail is a Django app to send email asynchronously. This is a light-weight app using only Python threading for sending emails. It is meant for casual emails, like sending account activation mail from your website when account activation is optional. Using Celery and similar apps for such tasks is definitely an overkill, as they consume heavy system resources.
In virtual environment, install by using pip as below:
pip install DjangoAsyncMail
- Add "DjangoAsyncMail" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'DjangoAsyncMail', ]
- Remember to add EMAIL_HOST_USER segment is your main Django project settings like this
#SMTP Mail Settings EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.yourdomainname.com' EMAIL_USE_TLS = False EMAIL_PORT = 587 EMAIL_HOST_USER = '[email protected]' EMAIL_HOST_PASSWORD = 'your_email_password' DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
- Import and call the send_html_mail function with variables wherever you need like this
from DjangoAsyncMail.mail import send_html_mail send_html_mail(subject,email_body,recipient_list,reply_to) Example: send_html_mail('Testing','Test HTML Content',['[email protected]'],['[email protected]'])
- Check email delivery in Recipient's mailbox.