• Add From header to email message if missing.

Gmail rejects messages without a From header, with this error:
  "Our system has detected that this message is 5.7.1 not RFC 5322
   compliant: 5.7.1 'From' header is missing."
This commit is contained in:
Gilles BOUVIER
2020-12-26 14:15:24 -08:00
parent 1839a9d205
commit 84ded63fe5

View File

@@ -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]')
CyberCPLogFileWriter.writeToFile(str(msg) + ' [statusWriter]')