Implement welcome emails, fixes #107

master
kaiyou 7 years ago
parent 570e90acbc
commit ac0c339aa8

@ -42,7 +42,10 @@ default_config = {
'WEBMAIL': 'none',
'AUTH_RATELIMIT': '10/minute;1000/hour',
'RATELIMIT_STORAGE_URL': 'redis://redis',
'DISABLE_STATISTICS': 'False'
'DISABLE_STATISTICS': 'False',
'WELCOME': 'False',
'WELCOME_SUBJECT': 'Dummy welcome topic',
'WELCOME_BODY': 'Dummy welcome body'
}
# Load configuration from the environment if available

@ -3,9 +3,7 @@ from mailu.ui import ui, forms, access
import flask
import flask_login
import smtplib
from email.mime import text
from urllib import parse
@ -50,20 +48,13 @@ def services():
@ui.route('/announcement', methods=['GET', 'POST'])
@access.global_admin
def announcement():
from_address = '{}@{}'.format(
app.config['POSTMASTER'], app.config['DOMAIN'])
form = forms.AnnouncementForm()
if form.validate_on_submit():
with smtplib.SMTP('smtp', port=10025) as smtp:
for recipient in [user.email for user in models.User.query.all()]:
msg = text.MIMEText(form.announcement_body.data)
msg['Subject'] = form.announcement_subject.data
msg['From'] = from_address
msg['To'] = recipient
smtp.sendmail(from_address, [recipient], msg.as_string())
for user in models.User.query.all():
user.sendmail(form.announcement_subject.data,
form.announcement_body.data)
# Force-empty the form
form.announcement_subject.data = ''
form.announcement_body.data = ''
flask.flash('Your announcement was sent', 'success')
return flask.render_template('announcement.html', form=form,
from_address=from_address)
return flask.render_template('announcement.html', form=form)

@ -35,6 +35,7 @@ def user_create(domain_name):
user.set_password(form.pw.data)
db.session.add(user)
db.session.commit()
user.send_welcome()
flask.flash('User %s created' % user)
return flask.redirect(
flask.url_for('.user_list', domain_name=domain.name))

@ -81,6 +81,12 @@ RECIPIENT_DELIMITER=+
DMARC_RUA=admin
DMARC_RUF=admin
# Weclome email, enable and set a topic and body if you wish to send welcome
# emails to all users.
WELCOME=false
WELCOME_SUBJECT=Welcome to your new email account
WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly!
###################################
# Web settings
###################################

Loading…
Cancel
Save