--
Ticket URL: <https://code.djangoproject.com/ticket/28042>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* component: Uncategorized => Core (Mail)
Old description:
> Traceback (most recent call last):
> File "/usr/local/lib/python3.4/dist-
> packages/IPython/core/interactiveshell.py", line 2881, in run_code
> exec(code_obj, self.user_global_ns, self.user_ns)
> File "<ipython-input-43-5151166d7cfd>", line 1, in <module>
> m.message()
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 302, in message
> msg = self._create_message(msg)
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 399, in _create_message
> return self._create_attachments(msg)
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 412, in _create_attachments
> msg.attach(self._create_attachment(*attachment))
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 450, in _create_attachment
> attachment = self._create_mime_attachment(content, mimetype)
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 422, in
> _create_mime_attachment
> basetype, subtype = mimetype.split('/', 1)
> AttributeError: 'NoneType' object has no attribute 'split'
New description:
{{{
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-
packages/IPython/core/interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-43-5151166d7cfd>", line 1, in <module>
m.message()
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 302, in message
msg = self._create_message(msg)
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 399, in _create_message
return self._create_attachments(msg)
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 412, in _create_attachments
msg.attach(self._create_attachment(*attachment))
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 450, in _create_attachment
attachment = self._create_mime_attachment(content, mimetype)
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 422, in
_create_mime_attachment
basetype, subtype = mimetype.split('/', 1)
AttributeError: 'NoneType' object has no attribute 'split'
}}}
--
Comment:
Can you please provide code to reproduce the issue?
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:1>
Old description:
> {{{
> Traceback (most recent call last):
> File "/usr/local/lib/python3.4/dist-
> packages/IPython/core/interactiveshell.py", line 2881, in run_code
> exec(code_obj, self.user_global_ns, self.user_ns)
> File "<ipython-input-43-5151166d7cfd>", line 1, in <module>
> m.message()
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 302, in message
> msg = self._create_message(msg)
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 399, in _create_message
> return self._create_attachments(msg)
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 412, in _create_attachments
> msg.attach(self._create_attachment(*attachment))
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 450, in _create_attachment
> attachment = self._create_mime_attachment(content, mimetype)
> File "/usr/local/lib/python3.4/dist-
> packages/django/core/mail/message.py", line 422, in
> _create_mime_attachment
> basetype, subtype = mimetype.split('/', 1)
> AttributeError: 'NoneType' object has no attribute 'split'
> }}}
New description:
{{{
>>> m = EmailMessage(attachments=[('filename1', 'content1',)])
>>> m.attach('filename2', 'content2')
>>> m.attachments
[('filename1', 'content1'),
('filename2', 'content2', 'application/octet-stream')]
>>> m.message()
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-
packages/IPython/core/interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-53-5151166d7cfd>", line 1, in <module>
m.message()
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 302, in message
msg = self._create_message(msg)
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 399, in _create_message
return self._create_attachments(msg)
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 412, in _create_attachments
msg.attach(self._create_attachment(*attachment))
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 450, in _create_attachment
attachment = self._create_mime_attachment(content, mimetype)
File "/usr/local/lib/python3.4/dist-
packages/django/core/mail/message.py", line 422, in
_create_mime_attachment
basetype, subtype = mimetype.split('/', 1)
AttributeError: 'NoneType' object has no attribute 'split'
}}}
This code was work in 1.10
--
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:2>
* severity: Normal => Release blocker
* stage: Unreviewed => Accepted
Comment:
Regression in 72d541b61cd7b0a14f70242e2207fdb3f600c4d5.
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:3>
* owner: nobody => Nikolay
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:4>
* status: assigned => closed
* resolution: => fixed
Comment:
https://github.com/django/django/pull/8323
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:5>
* status: closed => new
* has_patch: 0 => 1
* resolution: fixed =>
Comment:
The ticket is closed when the patch is merged. Please check "Has patch"
when adding a pull request. See
[https://docs.djangoproject.com/en/dev/internals/contributing/triaging-
tickets/ Triaging Tickets] for workflow details.
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:6>
* needs_better_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:7>
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"dd001848920713fe616c03db6946762e8aa7c4e3" dd00184]:
{{{
#!CommitTicketReference repository=""
revision="dd001848920713fe616c03db6946762e8aa7c4e3"
Fixed #28042 -- Fixed crash when using a two-tuple in EmailMessage's
attachments arg.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:8>
Comment (by Tim Graham <timograham@…>):
In [changeset:"734e6bb2b884eb4681954e1d0c01097fe167f558" 734e6bb2]:
{{{
#!CommitTicketReference repository=""
revision="734e6bb2b884eb4681954e1d0c01097fe167f558"
[1.11.x] Fixed #28042 -- Fixed crash when using a two-tuple in
EmailMessage's attachments arg.
Backport of dd001848920713fe616c03db6946762e8aa7c4e3 from master
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/28042#comment:9>