Skip to content
This repository was archived by the owner on Aug 26, 2021. It is now read-only.

Commit fd09021

Browse files
committed
Support SendGrid
This adds support to inferring SendGrid settings from Heroku environment variables. Since Mailgun was already there, this patch will not override those settings. Another thing this patch does is set the variables expected by [Flask-Mail][1]. Both SendGrid and Mailgun support TLS so that is enabled for both. [1]: http://packages.python.org/Flask-Mail/
1 parent 05bde44 commit fd09021

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

flask_heroku.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,23 @@ def __init__(self, app):
2525
self.app.config.setdefault('BROKER_URL', environ.get('RABBITMQ_URL'))
2626

2727
# Mailgun
28-
self.app.config.setdefault('SMTP_SERVER', environ.get('MAILGUN_SMTP_SERVER'))
29-
self.app.config.setdefault('SMTP_LOGIN', environ.get('MAILGUN_SMTP_LOGIN'))
30-
self.app.config.setdefault('SMTP_PASSWORD', environ.get('MAILGUN_SMTP_PASSWORD'))
28+
if 'MAILGUN_SMTP_SERVER' in environ:
29+
self.app.config.setdefault('SMTP_SERVER', environ.get('MAILGUN_SMTP_SERVER'))
30+
self.app.config.setdefault('SMTP_LOGIN', environ.get('MAILGUN_SMTP_LOGIN'))
31+
self.app.config.setdefault('SMTP_PASSWORD', environ.get('MAILGUN_SMTP_PASSWORD'))
32+
self.app.config.setdefault('MAIL_SERVER', environ.get('MAILGUN_SMTP_SERVER'))
33+
self.app.config.setdefault('MAIL_USERNAME', environ.get('MAILGUN_SMTP_LOGIN'))
34+
self.app.config.setdefault('MAIL_PASSWORD', environ.get('MAILGUN_SMTP_PASSWORD'))
35+
self.app.config.setdefault('MAIL_USE_TLS', True)
36+
# SendGrid
37+
elif 'SENDGRID_USERNAME' in environ:
38+
self.app.config.setdefault('SMTP_SERVER', 'smtp.sendgrid.net')
39+
self.app.config.setdefault('SMTP_LOGIN', environ.get('SENDGRID_USERNAME'))
40+
self.app.config.setdefault('SMTP_PASSWORD', environ.get('SENDGRID_PASSWORD'))
41+
self.app.config.setdefault('MAIL_SERVER', 'smtp.sendgrid.net')
42+
self.app.config.setdefault('MAIL_USERNAME', environ.get('SENDGRID_USERNAME'))
43+
self.app.config.setdefault('MAIL_PASSWORD', environ.get('SENDGRID_PASSWORD'))
44+
self.app.config.setdefault('MAIL_USE_TLS', True)
3145

3246
# Redis To Go
3347
redis_url = environ.get('REDISTOGO_URL')

0 commit comments

Comments
 (0)