Skip to content

"get_new_mail" fails with "KeyError: 'content-transfer-encoding'" if header is missing #136

@sumpfralle

Description

@sumpfralle
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django/core/management/__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django/core/management/base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django/core/management/base.py", line 345, in execute
    output = self.handle(*args, **options)
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django_mailbox/management/commands/getmail.py", line 24, in handle
    messages = mailbox.get_new_mail()
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django_mailbox/models.py", line 373, in get_new_mail
    msg = self.process_incoming_message(message)
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django_mailbox/models.py", line 216, in process_incoming_message
    msg = self._process_message(message)
  File "/srv/virtualenvs/stadtgestalten/lib/python3.4/site-packages/django_mailbox/models.py", line 355, in _process_message
    msg.set_body(message.as_string())
  File "/usr/lib/python3.4/email/message.py", line 159, in as_string
    g.flatten(self, unixfrom=unixfrom)
  File "/usr/lib/python3.4/email/generator.py", line 112, in flatten
    self._write(msg)
  File "/usr/lib/python3.4/email/generator.py", line 186, in _write
    msg.replace_header('content-transfer-encoding', munge_cte[0])
  File "/usr/lib/python3.4/email/message.py", line 559, in replace_header
    raise KeyError(_name)
KeyError: 'content-transfer-encoding'

The root cause seems to be python's issue 27321.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions