From 84ded63fe5fad94ed94fbc0fb2541289d399b11c Mon Sep 17 00:00:00 2001 From: Gilles BOUVIER Date: Sat, 26 Dec 2020 14:15:24 -0800 Subject: [PATCH 1/2] =?UTF-8?q?=E2=80=A2=20Add=20From=20header=20to=20emai?= =?UTF-8?q?l=20message=20if=20missing.=20=20=20Gmail=20rejects=20messages?= =?UTF-8?q?=20without=20a=20From=20header,=20with=20this=20error:=20=20=20?= =?UTF-8?q?"Our=20system=20has=20detected=20that=20this=20message=20is=205?= =?UTF-8?q?.7.1=20not=20RFC=205322=20=20=20=20compliant:=205.7.1=20'From'?= =?UTF-8?q?=20header=20is=20missing."?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plogical/CyberCPLogFileWriter.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/plogical/CyberCPLogFileWriter.py b/plogical/CyberCPLogFileWriter.py index 46bcacf8e..a3ff8acde 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: + return "Can not add From header to message." + @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]') From bfc57ec036bb58f67e8c05b44572edc1e39fbc22 Mon Sep 17 00:00:00 2001 From: Gilles BOUVIER Date: Sun, 27 Dec 2020 11:34:59 -0800 Subject: [PATCH 2/2] =?UTF-8?q?=E2=80=A2=20Use=20writeToFile=20in=20except?= =?UTF-8?q?ion=20clause=20(suggestion=20from=20@furkansandal).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plogical/CyberCPLogFileWriter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plogical/CyberCPLogFileWriter.py b/plogical/CyberCPLogFileWriter.py index a3ff8acde..18410e788 100755 --- a/plogical/CyberCPLogFileWriter.py +++ b/plogical/CyberCPLogFileWriter.py @@ -17,7 +17,7 @@ class CyberCPLogFileWriter: return message except BaseException as msg: - return "Can not add From header to message." + CyberCPLogFileWriter.writeToFile(str(msg) + ' [AddFromHeader]') @staticmethod def SendEmail(sender, receivers, message, subject=None, type=None):