decode-spam-headers
decode-spam-headers copied to clipboard
the ID in received header is considered as version and Results in Error
Can you help solve this issues here the ID mentioned is the id of mail passing from and delivered by server but it is considered as version and hence the error
[ERROR] Test 1: "Received - Mail Servers Flow" failed: Invalid version: '1u5HDe-0000000BekC-1MPb' . Use --debug to show entire stack trace.
Traceback (most recent call last):
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 6843, in <module>
main(sys.argv)
~~~~^^^^^^^^^^
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 6823, in main
out = an.parse(text)
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 2186, in parse
self.results[testName] = testFunc()
~~~~~~~~^^
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 5127, in testReceived
vers = SMTPHeadersAnalysis.parseExchangeVersion(obj['ver'])
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 2008, in parseExchangeVersion
lookupparsed = packaging.version.parse(lookup)
File "C:\Python311\Lib\site-packages\packaging\version.py", line 56, in parse
return Version(version)
File "C:\Python311\Lib\site-packages\packaging\version.py", line 202, in __init__
raise InvalidVersion(f"Invalid version: {version!r}")
packaging.version.InvalidVersion: Invalid version: '1u5HDe-0000000BekC-1MPb'
in this code it complaints about format Thu, 17 Apr 2025 12:51:15 +0800 (GMT+08:00)
CODE
pos = received.find(';')
if pos != -1:
ts = received[pos+1:].strip()
obj['timestamp'] = str(parser.parse(ts).astimezone(tzutc()))
ERROR
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 6826, in <module>
main(sys.argv)
~~~~^^^^^^^^^^
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 6806, in main
out = an.parse(text)
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 2186, in parse
self.results[testName] = testFunc()
~~~~~~~~^^
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 5107, in testReceived
obj = self.parseReceived(r, numReceived)
File "c:\Scripts\SpamAssassin\Decode Headers\decode-spam-headers.py", line 5008, in parseReceived
obj['timestamp'] = str(parser.parse(ts).astimezone(tzutc()))
~~~~~~~~~~~~^^^^
File "C:\Python311\Lib\site-packages\dateutil\parser\_parser.py", line 1368, in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\dateutil\parser\_parser.py", line 643, in parse
raise ParserError("Unknown string format: %s", timestr)
dateutil.parser._parser.ParserError: Unknown string format: Thu, 17 Apr 2025 12:51:15 +0800 (GMT+08:00)
Also experiencing this.