From 545a9c35c6f0ae1696037603688f0a41c67f66f6 Mon Sep 17 00:00:00 2001 From: CIRCL Date: Thu, 1 Jun 2017 12:16:32 +0200 Subject: [PATCH] preparation for spamtrap --- mail_to_misp.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/mail_to_misp.py b/mail_to_misp.py index 181691d..1f57411 100755 --- a/mail_to_misp.py +++ b/mail_to_misp.py @@ -82,18 +82,29 @@ except Exception as e: try: if not stdin_used: email_data = sys.argv[1] - email_subject = sys.argv[2] + 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: + email_subject = sys.argv[2] except: if debug: syslog.syslog("FATAL ERROR: Not all required input received") sys.exit(1) -if debug: - syslog.syslog("Encoding of subject: {0}".format(ftfy.guess_bytes(email_subject)[1])) - syslog.syslog("Encoding of body: {0}".format(ftfy.guess_bytes(email_data)[1])) +#if debug: +# syslog.syslog("Encoding of subject: {0}".format(ftfy.guess_bytes(email_subject)[1])) +# syslog.syslog("Encoding of body: {0}".format(ftfy.guess_bytes(email_data)[1])) -email_data = ftfy.fix_text(email_data.decode("utf-8", "ignore")) -email_subject = ftfy.fix_text(email_subject.decode("utf-8", "ignore")) +try: + email_data = ftfy.fix_text(email_data.decode("utf-8", "ignore")) +except: + email_data = ftfy.fix_text(email_data) +try: + email_subject = ftfy.fix_text(email_subject.decode("utf-8", "ignore")) +except: + email_subject = ftfy.fix_text(email_subject) if debug: syslog.syslog(email_subject)