mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 22:06:05 +01:00
bug fix: dkim keys generation for subdomains
This commit is contained in:
@@ -1,13 +1,33 @@
|
||||
import os,sys
|
||||
sys.path.append('/usr/local/CyberCP')
|
||||
import django
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
|
||||
try:
|
||||
django.setup()
|
||||
except:
|
||||
pass
|
||||
import subprocess
|
||||
import time
|
||||
from plogical.mailUtilities import mailUtilities
|
||||
import socket
|
||||
from loginSystem.models import Administrator
|
||||
try:
|
||||
from loginSystem.models import Administrator
|
||||
except:
|
||||
pass
|
||||
import os
|
||||
import smtplib
|
||||
|
||||
class CyberCPLogFileWriter:
|
||||
fileName = "/home/cyberpanel/error-logs.txt"
|
||||
|
||||
@staticmethod
|
||||
def SendEmail(sender, receivers, message):
|
||||
try:
|
||||
smtpObj = smtplib.SMTP('localhost')
|
||||
smtpObj.sendmail(sender, receivers, message)
|
||||
print("Successfully sent email")
|
||||
except BaseException as msg:
|
||||
CyberCPLogFileWriter.writeToFile(str(msg))
|
||||
|
||||
@staticmethod
|
||||
def writeToFile(message):
|
||||
try:
|
||||
@@ -20,20 +40,26 @@ class CyberCPLogFileWriter:
|
||||
|
||||
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 = """\
|
||||
try:
|
||||
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)
|
||||
|
||||
""" % (
|
||||
sender, ", ".join(TO), SUBJECT, '[%s] %s. \n' % (time.strftime("%m.%d.%Y_%H-%M-%S"), message))
|
||||
CyberCPLogFileWriter.SendEmail(sender, TO, message)
|
||||
except BaseException as msg:
|
||||
file = open(CyberCPLogFileWriter.fileName, 'a')
|
||||
file.writelines("[" + time.strftime(
|
||||
"%m.%d.%Y_%H-%M-%S") + "] " + str(msg) + "\n")
|
||||
file.close()
|
||||
|
||||
except BaseException as msg:
|
||||
return "Can not write to error file."
|
||||
|
||||
@@ -217,7 +217,7 @@ class mailUtilities:
|
||||
#extractDomain = tldextract.extract(virtualHostName)
|
||||
#virtualHostName = extractDomain.domain + '.' + extractDomain.suffix
|
||||
|
||||
if os.path.exists("/etc/opendkim/keys/" + virtualHostName):
|
||||
if os.path.exists("/etc/opendkim/keys/" + virtualHostName + "/default.txt"):
|
||||
return 1, "None"
|
||||
|
||||
|
||||
@@ -227,7 +227,11 @@ class mailUtilities:
|
||||
|
||||
## Generate keys
|
||||
|
||||
command = "opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (virtualHostName, virtualHostName)
|
||||
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||
command = "/usr/sbin/opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (virtualHostName, virtualHostName)
|
||||
else:
|
||||
command = "opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (
|
||||
virtualHostName, virtualHostName)
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
## Fix permissions
|
||||
|
||||
|
||||
@@ -92,6 +92,8 @@ class ProcessUtilities(multi.Thread):
|
||||
@staticmethod
|
||||
def normalExecutioner(command, shell=False):
|
||||
try:
|
||||
if os.path.exists(ProcessUtilities.debugPath):
|
||||
logging.writeToFile(command)
|
||||
if shell == False:
|
||||
res = subprocess.call(shlex.split(command))
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user