From fdca0f720707eb015b2150bd9228fdcc85e6ef3a Mon Sep 17 00:00:00 2001 From: Cédric Bonhomme Date: Tue, 13 May 2014 20:43:41 +0200 Subject: trying to send email with postmark --- conf.py | 3 +-- pyaggr3g470r/emails.py | 23 ++++++++++------------- pyaggr3g470r/views.py | 5 ++++- requirements.txt | 1 + 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/conf.py b/conf.py index f289c74f..aba7253d 100644 --- a/conf.py +++ b/conf.py @@ -79,8 +79,7 @@ else: MAIL_ENABLED = True ADMIN_EMAIL = os.environ.get('ADMIN_EMAIL', '') - MAILGUN_DOMAIN = os.environ.get('MAILGUN_SMTP_SERVER', '') - MAILGUN_KEY = os.environ.get('MAILGUN_API_KEY', '') + POSTMARK_API_KEY = os.environ.get('POSTMARK_API_KEY', '') WEBZINE_ROOT = "/tmp/" diff --git a/pyaggr3g470r/emails.py b/pyaggr3g470r/emails.py index 55ff4504..61851f22 100644 --- a/pyaggr3g470r/emails.py +++ b/pyaggr3g470r/emails.py @@ -5,7 +5,7 @@ import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText -import requests +from postmark import PMMail import log import utils @@ -71,19 +71,16 @@ def new_account_notification(user): (conf.PLATFORM_URL + 'confirm_account/' + user.activation_key) plaintext = utils.clear_string(html) - r = requests.post("https://api.mailgun.net/v2/%s/messages" % conf.MAILGUN_DOMAIN, - auth=("api", conf.MAILGUN_KEY), - data={ - "from": conf.ADMIN_EMAIL, - "to": user.email, - "subject": "[pyAggr3g470r] Account activation", - "text": plaintext, - "html": html - } - ) - return r + + message = PMMail(api_key = conf.POSTMARK_API_KEY, + subject = "[pyAggr3g470r] Account activation", + sender = conf.ADMIN_EMAIL, + to = user.email, + text_body = plaintext) + + message.send() except Exception as e: - print str(e) + raise e diff --git a/pyaggr3g470r/views.py b/pyaggr3g470r/views.py index 58feb72b..108a3894 100644 --- a/pyaggr3g470r/views.py +++ b/pyaggr3g470r/views.py @@ -186,7 +186,10 @@ def signup(): return render_template('signup.html', form=form) # Send the confirmation email - result = emails.new_account_notification(user) + try: + emails.new_account_notification(user) + except Exception as e: + print str(e) if result.status_code != 200: flash(gettext('Problem while sending activation email: '+ str(result.text)), 'danger') diff --git a/requirements.txt b/requirements.txt index 8a4ab9dc..26567d10 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,6 @@ Flask-WTF Flask-Babel Flask-Gravatar WTForms +postmark gevent whoosh -- cgit