Commit fe9ba118 authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue

[cranspasswords] On envoit les notifs via la commande sendmail

parent 492d9f66
...@@ -10,9 +10,9 @@ import os ...@@ -10,9 +10,9 @@ import os
import pwd import pwd
import sys import sys
import json import json
import smtplib
import datetime import datetime
import socket import socket
import subprocess
from email.mime.text import MIMEText from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart from email.mime.multipart import MIMEMultipart
...@@ -241,25 +241,25 @@ def backup(corps, fname, old): ...@@ -241,25 +241,25 @@ def backup(corps, fname, old):
back.write((u'* %s: %s\n' % (str(datetime.datetime.now()), corps)).encode("utf-8")) back.write((u'* %s: %s\n' % (str(datetime.datetime.now()), corps)).encode("utf-8"))
back.close() back.close()
# TODO monter plus haut
def notification(subject, corps, fname, old): def notification(subject, corps, fname, old):
"""Envoie par mail une notification de changement de fichier""" """Envoie par mail une notification de changement de fichier"""
conn = smtplib.SMTP('localhost')
frommail = serverconfig.CRANSP_MAIL frommail = serverconfig.CRANSP_MAIL
tomail = serverconfig.DEST_MAIL tomail = serverconfig.DEST_MAIL
msg = MIMEMultipart(_charset="utf-8") msg = MIMEMultipart(_charset="utf-8")
msg['Subject'] = subject msg['Subject'] = subject
msg['X-Mailer'] = serverconfig.cmd_name.decode() msg['X-Mailer'] = serverconfig.cmd_name.decode()
msg['From'] = serverconfig.CRANSP_MAIL msg['From'] = frommail
msg['To'] = serverconfig.DEST_MAIL msg['To'] = tomail
msg.preamble = u"%s report" % (serverconfig.cmd_name.decode(),) msg.preamble = u"%s report" % (serverconfig.cmd_name.decode(),)
info = MIMEText(corps + info = MIMEText(corps +
u"\nLa version précédente a été sauvegardée." + u"\nLa version précédente a été sauvegardée." +
u"\n\nModification effectuée sur %s." % socket.gethostname() + u"\n\nModification effectuée sur %s." % socket.gethostname() +
u"\n\n-- \nCranspasswords.py", _charset="utf-8") u"\n\n-- \nCranspasswords.py", _charset="utf-8")
msg.attach(info) msg.attach(info)
conn.sendmail(frommail, tomail, msg.as_string()) mailProcess = subprocess.Popen([serverconfig.sendmail_cmd, "-t"], stdin=subprocess.PIPE)
conn.quit() mailProcess.communicate(msg.as_string())
if __name__ == "__main__": if __name__ == "__main__":
argv = sys.argv[0:] argv = sys.argv[0:]
......
...@@ -13,6 +13,9 @@ Dans le futur, pourra être remplacé par une connexion ldap. ...@@ -13,6 +13,9 @@ Dans le futur, pourra être remplacé par une connexion ldap.
#: Pour override le nom si vous voulez renommer la commande #: Pour override le nom si vous voulez renommer la commande
cmd_name = 'cranspasswords' cmd_name = 'cranspasswords'
#: Chemin vers la commande sendmail
sendmail_cmd = '/usr/lib/sendmail'
#: Répertoire de stockage des mots de passe #: Répertoire de stockage des mots de passe
STORE = '/var/lib/%s/db/' % (cmd_name,) STORE = '/var/lib/%s/db/' % (cmd_name,)
......
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