feat(panettone): Add functions to send email notifications

Add a new package to panettone, :panettone.email with functions to send
email notifications to users through the SMTP relay on whitby,
respecting the value of `enable_email_notifications` on the
user_settings table.

Change-Id: Ia4ec65965abda06f1fadb178143d66bb8eae6482
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2804
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
Griffin Smith 2021-04-03 13:05:06 -04:00 committed by glittershark
parent 37d573479b
commit 349b98ccc8
4 changed files with 65 additions and 1 deletions

View file

@ -48,6 +48,19 @@
:issue-comments :num-comments :create-issue-comment))
(defpackage panettone.email
(:nicknames :email)
(:use :cl)
(:import-from :alexandria :when-let)
(:import-from :panettone.model
:settings-for-user :enable-email-notifications-p)
(:import-from :panettone.authentication
:find-user-by-dn :mail :displayname)
(:export
:*smtp-server* :*smtp-server-port* :*notification-from*
:*notification-from-display-name* :*notification-subject-prefix*
:notify-user :send-email-notification))
(defpackage panettone
(:use :cl :klatre :easy-routes :iterate
:panettone.util