diff --git a/plogical/CyberCPLogFileWriter.py b/plogical/CyberCPLogFileWriter.py index 46bcacf8e..18410e788 100755 --- a/plogical/CyberCPLogFileWriter.py +++ b/plogical/CyberCPLogFileWriter.py @@ -7,6 +7,18 @@ import smtplib class CyberCPLogFileWriter: fileName = "/home/cyberpanel/error-logs.txt" + @staticmethod + def AddFromHeader(sender, message): + try: + import re + + if not re.search('^From: ', message, re.MULTILINE): + message = 'From: {}\n{}'.format(sender, message) + + return message + except BaseException as msg: + CyberCPLogFileWriter.writeToFile(str(msg) + ' [AddFromHeader]') + @staticmethod def SendEmail(sender, receivers, message, subject=None, type=None): try: @@ -29,9 +41,12 @@ class CyberCPLogFileWriter: if subject != None: message = 'Subject: {}\n\n{}'.format(subject, message) + message = CyberCPLogFileWriter.AddFromHeader(sender, message) smtpServer.sendmail(smtpUserName, receivers, message) else: smtpObj = smtplib.SMTP('localhost') + + message = CyberCPLogFileWriter.AddFromHeader(sender, message) smtpObj.sendmail(sender, receivers, message) except BaseException as msg: CyberCPLogFileWriter.writeToFile(str(msg)) @@ -107,4 +122,4 @@ Subject: %s statusFile.writelines(mesg + '\n') statusFile.close() except BaseException as msg: - CyberCPLogFileWriter.writeToFile(str(msg) + ' [statusWriter]') \ No newline at end of file + CyberCPLogFileWriter.writeToFile(str(msg) + ' [statusWriter]')