mirror of https://github.com/MISP/mail_to_misp
refactored some code parts
parent
8d124413b9
commit
fd091a4a01
|
@ -56,41 +56,32 @@ stdin_used = False
|
|||
email_subject = config.email_subject_prefix
|
||||
try:
|
||||
if not sys.stdin.isatty():
|
||||
email_data = b''
|
||||
mailcontent = sys.stdin.buffer.read().decode("utf-8", "ignore")
|
||||
syslog.syslog(mailcontent)
|
||||
msg = email.message_from_string(mailcontent)
|
||||
mail_subject = msg.get('Subject').encode("utf-8", "ignore")
|
||||
for part in msg.walk():
|
||||
if part.get_content_charset() is None:
|
||||
# This could probably be detected
|
||||
charset = 'utf-8'
|
||||
else:
|
||||
charset = part.get_content_charset()
|
||||
if part.get_content_maintype() == 'multipart':
|
||||
continue
|
||||
if part.get_content_maintype() == 'text':
|
||||
part.set_charset(charset)
|
||||
email_data += part.get_payload(decode=True)
|
||||
email_subject += mail_subject
|
||||
stdin_used = True
|
||||
except Exception as e:
|
||||
syslog.syslog("EXCEPTION")
|
||||
syslog.syslog(str(e))
|
||||
pass
|
||||
|
||||
try:
|
||||
if not stdin_used:
|
||||
email_data = sys.argv[1]
|
||||
if len(sys.argv) < 3:
|
||||
#email_subject = "(No Subject)"
|
||||
msg = email.message_from_string(email_data)
|
||||
email_subject = msg.get('Subject').encode("utf-8", "ignore")
|
||||
else:
|
||||
else:
|
||||
mailcontent = sys.argv[1]
|
||||
if len(sys.argv) >= 3:
|
||||
email_subject = sys.argv[2]
|
||||
except:
|
||||
email_data = b''
|
||||
syslog.syslog(mailcontent)
|
||||
msg = email.message_from_string(mailcontent)
|
||||
mail_subject = msg.get('Subject').encode("utf-8", "ignore")
|
||||
for part in msg.walk():
|
||||
if part.get_content_charset() is None:
|
||||
# This could probably be detected
|
||||
charset = 'utf-8'
|
||||
else:
|
||||
charset = part.get_content_charset()
|
||||
if part.get_content_maintype() == 'multipart':
|
||||
continue
|
||||
if part.get_content_maintype() == 'text':
|
||||
part.set_charset(charset)
|
||||
email_data += part.get_payload(decode=True)
|
||||
email_subject += mail_subject
|
||||
stdin_used = True
|
||||
except Exception as e:
|
||||
if debug:
|
||||
syslog.syslog("FATAL ERROR: Not all required input received")
|
||||
syslog.syslog(str(e))
|
||||
sys.exit(1)
|
||||
|
||||
#if debug:
|
||||
|
|
Loading…
Reference in New Issue