Title: email.policy.default adds an extra newline char to email address headers and raises HeaderWriteError on stringify · Issue #142006 · python/cpython · GitHub
Open Graph Title: email.policy.default adds an extra newline char to email address headers and raises HeaderWriteError on stringify · Issue #142006 · python/cpython
X Title: email.policy.default adds an extra newline char to email address headers and raises HeaderWriteError on stringify · Issue #142006 · python/cpython
Description: Bug report Bug description: Reproducer script: #!/usr/bin/env python3 import email import email.policy msg_bytes = b"""\ To: loooooooooooooooooooooooooooooooooooong@dooooooooooooomainname.example.com, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
Open Graph Description: Bug report Bug description: Reproducer script: #!/usr/bin/env python3 import email import email.policy msg_bytes = b"""\ To: loooooooooooooooooooooooooooooooooooong@dooooooooooooomainname.example.c...
X Description: Bug report Bug description: Reproducer script: #!/usr/bin/env python3 import email import email.policy msg_bytes = b"""\ To: loooooooooooooooooooooooooooooooooooong@dooooooooooooomai...
Opengraph URL: https://github.com/python/cpython/issues/142006
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"email.policy.default adds an extra newline char to email address headers and raises HeaderWriteError on stringify","articleBody":"# Bug report\n\n### Bug description:\n\nReproducer script:\n\n```python\n#!/usr/bin/env python3\n\nimport email\nimport email.policy\n\nmsg_bytes = b\"\"\"\\\nTo: loooooooooooooooooooooooooooooooooooong@dooooooooooooomainname.example.com,\n xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example.com\n\nbody\n\"\"\"\n\nmsg = email.message_from_bytes(msg_bytes, policy=email.policy.default)\nprint(msg['to'])\nprint(msg)\n```\n\nOutput:\n\n```console\n$ python3.14 test.py\nloooooooooooooooooooooooooooooooooooong@dooooooooooooomainname.example.com, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example.com\nTraceback (most recent call last):\n File \"/home/fumiyas/test.py\", line 15, in \u003cmodule\u003e\n print(msg)\n ~~~~~^^^^^\n File \"/usr/lib/python3.14/email/message.py\", line 1009, in __str__\n return self.as_string(policy=self.policy.clone(utf8=True))\n ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.14/email/message.py\", line 1006, in as_string\n return super().as_string(unixfrom, maxheaderlen, policy)\n ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.14/email/message.py\", line 188, in as_string\n g.flatten(self, unixfrom=unixfrom)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.14/email/generator.py\", line 117, in flatten\n self._write(msg)\n ~~~~~~~~~~~^^^^^\n File \"/usr/lib/python3.14/email/generator.py\", line 200, in _write\n self._write_headers(msg)\n ~~~~~~~~~~~~~~~~~~~^^^^^\n File \"/usr/lib/python3.14/email/generator.py\", line 234, in _write_headers\n raise HeaderWriteError(\n f'folded header contains newline: {folded!r}')\nemail.errors.HeaderWriteError: folded header contains newline: 'To: loooooooooooooooooooooooooooooooooooong@dooooooooooooomainname.example.com,\\n\\n xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example.com\\n'\n```\n\nNo problem with `email.policy.compat32`.\n\n### CPython versions tested on:\n\n3.13, 3.14, 3.12, 3.11, 3.10, 3.9\n\n### Operating systems tested on:\n\n_No response_\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-142008\n* gh-142361\n* gh-142362\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/fumiyas","@type":"Person","name":"fumiyas"},"datePublished":"2025-11-27T09:29:21.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/142006/cpython/issues/142006"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:bbcfa35e-b6eb-ed50-107e-25b7e5db2243 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A6D2:3AE3D1:5C043E9:7906D22:696DA053 |
| html-safe-nonce | d6019f4f0e345e30fcd64c986efc41723162aacf745c66bc7c9f92271d1fd443 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNkQyOjNBRTNEMTo1QzA0M0U5Ojc5MDZEMjI6Njk2REEwNTMiLCJ2aXNpdG9yX2lkIjoiNzg5MjEwODk1MzQyMjUwNDAyMCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 704ae49f05c3b4195dc134f8d45f64b19df997b9762dd74115a1a70210b8cafe |
| hovercard-subject-tag | issue:3670587831 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/142006/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ccc719802f06165840f6b7e5a9e2cc24e4473050649775a78c8efc233169bdab/python/cpython/issues/142006 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ccc719802f06165840f6b7e5a9e2cc24e4473050649775a78c8efc233169bdab/python/cpython/issues/142006 |
| og:image:alt | Bug report Bug description: Reproducer script: #!/usr/bin/env python3 import email import email.policy msg_bytes = b"""\ To: loooooooooooooooooooooooooooooooooooong@dooooooooooooomainname.example.c... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | fumiyas |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4922b452d03cd8dbce479d866a11bc25b59ef6ee2da23aa9b0ddefa6bd4d0064 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7e5ae23c70136152637ceee8d6faceb35596ec46 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width