Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Python: send emails by mandrill. Django and standalone example
"""
Example of mandrill service in python (http://mandrill.com/)
Description of usage in python:
Russian: http://www.lexev.org/2014/send-email-django-project-mandrill-service/
English: http://www.lexev.org/en/2014/send-email-django-project-mandrill-service/
"""
# ======
# Django
# ======
# install
# -------
pip install django-mandrill
# settings.py
# -----------
INSTALLED_APPS += ('django_mandrill',)
EMAIL_BACKEND = 'django_mandrill.mail.backends.mandrillbackend.EmailBackend'
MANDRILL_API_KEY = "valid api key"
# mandrill_mail.py
# ----------------
from django_mandrill.mail import MandrillTemplateMail
def send_mandrill_email(template_name, email_to, context=None, curr_site=None):
if context is None:
context = {}
message = {
'to': [],
'global_merge_vars': []
}
for em in email_to:
message['to'].append({'email': em})
for k, v in context.items():
message['global_merge_vars'].append(
{'name': k, 'content': v}
)
MandrillTemplateMail(template_name, [], message).send()
send_mandrill_email('template-1', ["sendto@email.com"], context={'Name': "Bob Marley"})
# ================
# Standalone usage
# ================
# install
# -------
pip install mandrill
# send email
# ----------
import mandrill
API_KEY = 'valid_api_key'
def send_mail(template_name, email_to, context):
mandrill_client = mandrill.Mandrill(API_KEY)
message = {
'to': [],
'global_merge_vars': []
}
for em in email_to:
message['to'].append({'email': em})
for k, v in context.iteritems():
message['global_merge_vars'].append(
{'name': k, 'content': v}
)
mandrill_client.messages.send_template(template_name, [], message)
send_mail('template-1', ["sendto@email.com"], context={'Name': "Bob Marley"})
@wrux

This comment has been minimized.

Show comment Hide comment
@wrux

wrux Jun 15, 2015

Where would you parse the from email and name? For an contact from as an example

wrux commented Jun 15, 2015

Where would you parse the from email and name? For an contact from as an example

@Lh4cKg

This comment has been minimized.

Show comment Hide comment
@Lh4cKg

Lh4cKg Oct 4, 2015

nice job ;)

Lh4cKg commented Oct 4, 2015

nice job ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment