From 8982422edc56f65e54e8e27864b66800777973c0 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Thu, 30 Jan 2020 17:58:56 +0500 Subject: [PATCH] send emails for cyberpanel logs --- mailServer/mailserverManager.py | 2 +- plogical/CyberCPLogFileWriter.py | 24 +++++++++++++++++++++++- plogical/dnsUtilities.py | 6 +++--- plogical/mailUtilities.py | 2 +- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/mailServer/mailserverManager.py b/mailServer/mailserverManager.py index db8ec3c20..2463bb94f 100755 --- a/mailServer/mailserverManager.py +++ b/mailServer/mailserverManager.py @@ -667,7 +667,7 @@ class MailServerManager: zone.save() path = "/etc/opendkim/keys/" + domainName + "/default.txt" - command = "sudo cat " + path + command = "cat " + path output = ProcessUtilities.outputExecutioner(command) leftIndex = output.index('(') + 2 rightIndex = output.rindex(')') - 1 diff --git a/plogical/CyberCPLogFileWriter.py b/plogical/CyberCPLogFileWriter.py index 5b2539bfa..1b39f7d97 100755 --- a/plogical/CyberCPLogFileWriter.py +++ b/plogical/CyberCPLogFileWriter.py @@ -1,6 +1,9 @@ import subprocess import time - +from plogical.mailUtilities import mailUtilities +import socket +from loginSystem.models import Administrator +import os class CyberCPLogFileWriter: fileName = "/home/cyberpanel/error-logs.txt" @@ -13,6 +16,25 @@ class CyberCPLogFileWriter: "%m.%d.%Y_%H-%M-%S") + "] "+ message + "\n") file.close() + ## Send Email + + emailPath = '/usr/local/CyberCP/emailDebug' + + if os.path.exists(emailPath): + SUBJECT = "CyberPanel log reporting" + admin = Administrator.objects.get(userName='admin') + sender = 'root@%s' % (socket.gethostname()) + TO = [admin.email] + message = """\ +From: %s +To: %s +Subject: %s + +%s + """ % (sender, ", ".join(TO), SUBJECT, '[%s] %s. \n' % (time.strftime("%m.%d.%Y_%H-%M-%S"), message)) + mailUtilities.SendEmail(sender, TO, message) + + except BaseException as msg: return "Can not write to error file." diff --git a/plogical/dnsUtilities.py b/plogical/dnsUtilities.py index 259c3aa05..3812f2ee5 100755 --- a/plogical/dnsUtilities.py +++ b/plogical/dnsUtilities.py @@ -385,7 +385,7 @@ class DNS: zone = Domains.objects.get(name=topLevelDomain) path = "/etc/opendkim/keys/" + topLevelDomain + "/default.txt" - command = "sudo cat " + path + command = "cat " + path output = subprocess.check_output(shlex.split(command)).decode("utf-8") leftIndex = output.index('(') + 2 rightIndex = output.rindex(')') - 1 @@ -402,8 +402,8 @@ class DNS: record.save() if ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu: - command = 'sudo systemctl restart pdns' - ProcessUtilities.executioner(command) + command = ' systemctl restart pdns' + ProcessUtiities.executioner(command) except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile( diff --git a/plogical/mailUtilities.py b/plogical/mailUtilities.py index a42b474e0..3a20fbfd5 100755 --- a/plogical/mailUtilities.py +++ b/plogical/mailUtilities.py @@ -227,7 +227,7 @@ class mailUtilities: ## Generate keys - command = "sudo opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (virtualHostName, virtualHostName) + command = "opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (virtualHostName, virtualHostName) ProcessUtilities.normalExecutioner(command) ## Fix permissions