From 47364ead6b281b820422901ddba2d06e073395bd Mon Sep 17 00:00:00 2001 From: Joar Wandborg Date: Sun, 7 Aug 2011 01:22:31 +0200 Subject: [PATCH] Added SMTP configuration options --- mediagoblin/config_spec.ini | 4 ++++ mediagoblin/util.py | 18 ++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index bbc1f7d6..bc6f00d9 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -20,6 +20,10 @@ direct_remote_path = string(default="/mgoblin_static/") # set to false to enable sending notices email_debug_mode = boolean(default=True) email_sender_address = string(default="notice@mediagoblin.example.org") +email_smtp_host = string(default=None) +email_smtp_port = integer(default=25) +email_smtp_user = string(default=None) +email_smtp_pass = string(default=None) # Set to false to disable registrations allow_registration = boolean(default=True) diff --git a/mediagoblin/util.py b/mediagoblin/util.py index 5880f856..6dced54e 100644 --- a/mediagoblin/util.py +++ b/mediagoblin/util.py @@ -240,6 +240,9 @@ class FakeMhost(object): def connect(self): pass + def login(self): + pass + def sendmail(self, from_addr, to_addrs, message): EMAIL_TEST_MBOX_INBOX.append( {'from': from_addr, @@ -267,13 +270,20 @@ def send_email(from_addr, to_addrs, subject, message_body): - subject: subject of the email - message_body: email body text """ - # TODO: make a mock mhost if testing is enabled if TESTS_ENABLED or mg_globals.app_config['email_debug_mode']: mhost = FakeMhost() elif not mg_globals.app_config['email_debug_mode']: - mhost = smtplib.SMTP() - - mhost.connect() + if not mg_globals.app_config['email_smtp_host']: + mhost = smtplib.SMTP() + else: + mhost = smtplib.SMTP( + mg_globals.app_config['email_smtp_host'], + mg_globals.app_config['email_smtp_port']) + + if mg_globals.app_config['email_smtp_user']: + mhost.login( + mg_globals.app_config['email_smtp_user'], + mg_globals.app_config['email_smtp_pass']) message = MIMEText(message_body.encode('utf-8'), 'plain', 'utf-8') message['Subject'] = subject -- 2.25.1