commit 843b1f3adcc2c7523973bfa0dc79f49f69c30719
parent b51567170691f80b66947c610b73f1bd178c9fcd
Author: Oshgnacknak <osh@oshgnacknak.de>
Date: Sun, 18 Aug 2019 14:52:03 +0200
Reconnect SMTP if necessary
Diffstat:
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/env_config.py b/env_config.py
@@ -20,7 +20,7 @@ else:
run_config = {
- 'DEBUG': int(environ.get('DEBUG', False)),
+ 'DEBUG': int(environ.get('DEBUG', 0)),
'HOST': environ.get('HOST', '0.0.0.0'),
'POST': int(environ.get('POST', 5000))
}
diff --git a/smtl/email.py b/smtl/email.py
@@ -2,6 +2,7 @@ import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from config import email_config
+from smtl.logging import logger
class EMail:
@@ -12,6 +13,13 @@ class EMail:
def login(self, user=None, password=''):
self.server.login(user or self.addr, password)
+ def is_connected(self):
+ try:
+ status = self.server.noop()[0]
+ except smtplib.SMTPServerDisconnected:
+ status = -1
+ return True if status == 250 else False
+
def send(self, from_addr=None, to_addr=None, subject='', body=''):
msg = MIMEMultipart()
msg['From'] = from_addr or self.addr
@@ -19,6 +27,8 @@ class EMail:
msg['Subject'] = subject
msg.attach(MIMEText(body))
+ if not self.is_connected():
+ self.server.connect()
self.server.sendmail(msg['From'], msg['To'], msg.as_string())
@@ -32,5 +42,6 @@ if email_config:
user=email_config.get('USER'),
password=email_config['PASSWORD']
)
+ logger.info('EMail logged in: ' + default_mail.addr)
else:
default_mail = None
diff --git a/smtl/templates/signup_form.html b/smtl/templates/signup_form.html
@@ -1,5 +1,8 @@
{% extends 'base.html' %}
{% block content %}
+ <p>
+ Sie werden per EMail informiert sobald ihre Anmeldung bearbeitet wurde.
+ </p>
<form id="signup_form" method="POST">
<table>
{% for field in [form.name, form.gender, form.birth_year, form.club, form.dwz, form.email] %}