Created
September 15, 2012 23:25
-
-
Save klinkin/3730319 to your computer and use it in GitHub Desktop.
Using mandrill (mailchimp) service to send emails
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from application.mail import mail_send | |
... | |
SECURITY_SEND_MAIL_FUNCTION = mail_send | |
... | |
FROM_EMAIL = '[email protected]' | |
FROM_NAME = u'Site Admin' | |
EMAIL_ARCHIVE = '[email protected]' | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
from flask import current_app | |
from mailsnake import MailSnake | |
mandrill_api = MailSnake('api_key', api='mandrill') | |
def mail_send(subject, recipient, template, **kwargs): | |
if template == 'welcome': | |
send_welcome(**kwargs) | |
elif template == 'confirmation_instructions': | |
send_confirmation_instructions(**kwargs) | |
elif template == 'login_instructions': | |
send_login_instructions(**kwargs) | |
elif template == 'reset_instructions': | |
send_reset_instructions(**kwargs) | |
elif template == 'reset_notice': | |
send_reset_notice(**kwargs) | |
else: | |
return NotImplemented | |
def send_welcome(**kwargs): | |
context = {} | |
context['template_name'] = 'welcome' | |
context['template_content'] = [] | |
context['message'] = {"subject": u"Site.ru - Thanks for registration :)", | |
"from_email": current_app.config.get('FROM_EMAIL'), | |
"from_name": current_app.config.get('FROM_NAME'), | |
"to":[{"email": kwargs['user'].email}], | |
"track_opens":True, | |
"track_clicks":True, | |
"auto_text":True, | |
"url_strip_qs":False, | |
"preserve_recipients":False, | |
"bcc_address": current_app.config.get('EMAIL_ARCHIVE'), | |
"merge_vars":[ | |
{ | |
"rcpt": kwargs['user'].email, | |
"vars":[{"name": "CONFIRMATION_LINK", "content": kwargs['confirmation_link']}]}], | |
"tags":["welcome"], | |
"recipient_metadata": [{ | |
"rcpt": kwargs['user'].email, | |
"values": [{ "user_id": kwargs['user'].id}]}] | |
} | |
mandrill_api.messages.send_template(**context) | |
def send_confirmation_instructions(**context): | |
pass | |
def send_login_instructions(**context): | |
pass | |
def send_reset_instructions(**context): | |
pass | |
def send_reset_notice(**context): | |
pass |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment