# HG changeset patch # User Marcin Kuzminski # Date 2018-09-21 10:34:35 # Node ID 6903e671cb60ff6a399e9f1453346200518b4eda # Parent 86f6e7c07d884aabdbdc404d35aafaaca6b9ee61 mail: use faster detection of email misconfiguration. This should be done at earliest possible step to prevent from DB query for recipients if we wont send email anyway. diff --git a/rhodecode/lib/celerylib/tasks.py b/rhodecode/lib/celerylib/tasks.py --- a/rhodecode/lib/celerylib/tasks.py +++ b/rhodecode/lib/celerylib/tasks.py @@ -49,6 +49,14 @@ def send_email(recipients, subject, body log = get_logger(send_email) email_config = email_config or rhodecode.CONFIG + + mail_server = email_config.get('smtp_server') or None + if mail_server is None: + log.error("SMTP server information missing. Sending email failed. " + "Make sure that `smtp_server` variable is configured " + "inside the .ini file") + return False + subject = "%s %s" % (email_config.get('email_prefix', ''), subject) if not recipients: # if recipients are not defined we send to email_config + all admins @@ -62,13 +70,6 @@ def send_email(recipients, subject, body recipients += [config_email] recipients += admins - mail_server = email_config.get('smtp_server') or None - if mail_server is None: - log.error("SMTP server information missing. Sending email failed. " - "Make sure that `smtp_server` variable is configured " - "inside the .ini file") - return False - mail_from = email_config.get('app_email_from', 'RhodeCode') user = email_config.get('smtp_username') passwd = email_config.get('smtp_password')