-
- Notifications
You must be signed in to change notification settings - Fork 33.1k
Closed
Labels
stdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
A valid multipart email message, when parsed with email.parser.HeaderParser(policy=email.policy.default)
will record a email.errors.MultipartInvariantViolationDefect
.
If the parser isn't going to attempt to parse the message body, it shouldn't report that as a defect.
Simple test script:
import email.parser import email.policy email_str = '''\ Date: 01 Jan 2001 00:01+0000 From: arthur@example.example MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=autocracy --autocracy Content-Type: text/plain By hanging on to outdated imperialist dogma which perpetuates the economic and social differences in our society. --autocracy Content-Type: text/html <html><body><p>By hanging on to outdated imperialist dogma which perpetuates the economic and social differences in our society.</p></body></html> --autocracy-- ''' full_parser = email.parser.Parser(policy=email.policy.default) parsed_email_full = full_parser.parsestr(email_str) print(parsed_email_full.defects) # Prints [] as expected header_parser = email.parser.HeaderParser(policy=email.policy.default) parsed_email_headers_only = header_parser.parsestr(email_str) print(parsed_email_headers_only.defects) # Prints [MultipartInvariantViolationDefect()]
Your environment
- Debian 12
- Raspberry Pi 4 (arm64)
- Python 3.11.2 (Debian package 3.11.2-1+b1)
Linked PRs
- gh-106186: Don't report MultipartInvariantViolationDefect for valid multipart emails when parsing header only #107016
- [3.12] gh-106186: Don't report MultipartInvariantViolationDefect for valid multipart emails when parsing header only (GH-107016) #107111
- [3.11] gh-106186: Don't report MultipartInvariantViolationDefect for valid multipart emails when parsing header only (GH-107016) #107112
Metadata
Metadata
Assignees
Labels
stdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error