diff --git a/aurweb/scripts/notify.py b/aurweb/scripts/notify.py index 35d2701..ddf4736 100755 --- a/aurweb/scripts/notify.py +++ b/aurweb/scripts/notify.py @@ -65,6 +65,11 @@ class Notification: def send(self): 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') + smtp_user = aurweb.config.get('notifications', 'smtp-user') + smtp_passwd = aurweb.config.get('notifications', 'smtp-password') sender = aurweb.config.get('notifications', 'sender') reply_to = aurweb.config.get('notifications', 'reply-to') reason = self.__class__.__name__ @@ -85,7 +90,19 @@ class Notification: for key, value in self.get_headers().items(): msg[key] = value - server = smtplib.SMTP(server_addr) + 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 password: + server.login(user, passwd) + server.set_debuglevel(1) server.sendmail(sender, recipient, msg.as_bytes()) server.quit() diff --git a/conf/config.defaults b/conf/config.defaults index af85ce8..83820c0 100644 --- a/conf/config.defaults +++ b/conf/config.defaults @@ -48,6 +48,11 @@ window_length = 86400 [notifications] notify-cmd = /usr/local/bin/aurweb-notify smtp-server = orion.archlinux.org +smtp-port = 587 +smtp-use-ssl = 0 +smtp-use-starttls = 1 +smtp-user = aur +smtp-password = aur sender = notify@aur.archlinux.org reply-to = noreply@aur.archlinux.org