Commit b855ce94 authored by Lukas Fleischer's avatar Lukas Fleischer
Browse files

Make SMTP port and authentication configurable



Add more options to configure the smtplib implementation for sending
notification emails.

The port can be changed using the new smtp-port option.

Encryption can be configured using smtp-use-ssl and smtp-use-starttls.
Keep in mind that you usually also need to change the port when enabling
either of these options.

Authentication can be configured using smtp-user and smtp-password.
Authentication is disabled if either of these values is empty.
Signed-off-by: Lukas Fleischer's avatarLukas Fleischer <lfleischer@archlinux.org>
parent de549fb2
......@@ -65,6 +65,7 @@ class Notification:
return body.rstrip()
def send(self):
sendmail = aurweb.config.get('notifications', 'sendmail')
sender = aurweb.config.get('notifications', 'sender')
reply_to = aurweb.config.get('notifications', 'reply-to')
reason = self.__class__.__name__
......@@ -95,8 +96,25 @@ class Notification:
else:
# send email using smtplib; no local MTA required
server_addr = aurweb.config.get('notifications', 'smtp-server')
server_port = aurweb.config.getint('notifications', 'smtp-port')
use_ssl = aurweb.config.getboolean('notifications', 'smtp-use-ssl')
use_starttls = aurweb.config.getboolean('notifications', 'smtp-use-starttls')
user = aurweb.config.get('notifications', 'smtp-user')
passwd = aurweb.config.get('notifications', 'smtp-password')
if use_ssl:
server = smtplib.SMTP_SSL(server_addr, server_port)
else:
server = smtplib.SMTP(server_addr, server_port)
if use_starttls:
server.ehlo()
server.starttls()
server.ehlo()
if user and passwd:
server.login(user, passwd)
server = smtplib.SMTP(server_addr)
server.set_debuglevel(0)
server.sendmail(sender, recipient, msg.as_bytes())
server.quit()
......
......@@ -49,6 +49,11 @@ window_length = 86400
notify-cmd = /usr/local/bin/aurweb-notify
sendmail =
smtp-server = localhost
smtp-port = 25
smtp-use-ssl = 0
smtp-use-starttls = 0
smtp-user =
smtp-password =
sender = notify@aur.archlinux.org
reply-to = noreply@aur.archlinux.org
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment