summaryrefslogtreecommitdiff
path: root/src/server/rz_mail.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/rz_mail.py')
-rw-r--r--src/server/rz_mail.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/rz_mail.py b/src/server/rz_mail.py
new file mode 100644
index 00000000..0ecf1d61
--- /dev/null
+++ b/src/server/rz_mail.py
@@ -0,0 +1,27 @@
+import magic
+
+from flask_mail import Mail, Message
+
+mail = None
+
+magic_mime = magic.open(magic.MAGIC_MIME)
+magic_mime.load()
+
+def mimetype(data):
+ return magic_mime.buffer(data).split(';')[0]
+
+def init_mail(webapp):
+ global mail
+ mail = Mail(webapp)
+
+def send_message(recipients, subject, attachments, body):
+ """
+ attachments is a list of tuples (filename, data)
+ libmagic is used to guess the mimetype
+ """
+ msg = Message(subject, recipients=recipients)
+ msg.body = body
+ for filename, data in attachments:
+ msg.attach(filename=filename, content_type=mimetype(data), data=data)
+ mail.send(msg)
+