{{{
File "/usr/local/lib/python2.7/dist-
packages/django/core/mail/message.py", line 348, in send
return self.get_connection(fail_silently).send_messages([self])
File "/usr/local/lib/python2.7/dist-
packages/django/core/mail/backends/smtp.py", line 111, in send_messages
sent = self._send(message)
File "/usr/local/lib/python2.7/dist-
packages/django/core/mail/backends/smtp.py", line 125, in _send
message = email_message.message()
File "/usr/local/lib/python2.7/dist-
packages/django/core/mail/message.py", line 307, in message
msg = SafeMIMEText(self.body, self.content_subtype, encoding)
File "/usr/local/lib/python2.7/dist-
packages/django/core/mail/message.py", line 214, in __init__
MIMEText.__init__(self, _text, _subtype=_subtype, _charset=_charset)
File "/usr/lib/python2.7/email/mime/text.py", line 30, in __init__
self.set_payload(_text, _charset)
File "/usr/local/lib/python2.7/dist-
packages/django/core/mail/message.py", line 224, in set_payload
for l in payload.splitlines()
AttributeError: 'NoneType' object has no attribute 'splitlines'
}}}
We've hacked around it by passing in an empty string instead but would
probably be more elegant for this `has_long_lines` logic to check if
there's a value instead.
For context we're not passing in a body because we're attaching the
plaintext and html versions of the email as a SafeMIMEMultipart
attachment.
--
Ticket URL: <https://code.djangoproject.com/ticket/29140>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* type: Uncategorized => Bug
Old description:
New description:
This had been working fine on 1.9 but when we upgraded to 1.11 instantly
started hitting an exception when django tries to call splitlines() on the
--
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:1>
Comment (by Williams Mendez):
I'd like to contribute to this ticket.
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:2>
Comment (by Herbert Fortes):
Hi,
Can you show how do you call EmailMessage?
If body=None the AttributeError will change to - 'NonType' object has no
attribute 'encode' at some point. A long time ago.
My first hint is to set |self.body = body or ' ' (single_quotes_here)
Regards,
Herbert
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:3>
* status: new => assigned
* owner: nobody => Williams Mendez
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:4>
Comment (by Herbert Fortes):
It is just a curiosity.
I got Django-1.9.13 put None in some tests.
I found one test that fails: test_send() line 625. Three times.
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:5>
Comment (by Herbert Fortes):
Tests do not fail.
EmailMessage does not raises errors
I am not dealing with python2.7 right.
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:6>
* has_patch: 0 => 1
* stage: Unreviewed => Ready for checkin
Comment:
[https://github.com/django/django/pull/9707 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:7>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"2691ed7ba1a83c535acd4fe7f0864a279cec3c35" 2691ed7]:
{{{
#!CommitTicketReference repository=""
revision="2691ed7ba1a83c535acd4fe7f0864a279cec3c35"
Fixed #29140 -- Fixed EmailMessage crash when body is None.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:8>
Comment (by Alex Schokking):
Replying to [comment:6 Herbert Fortes]:
> Tests do not fail.
>
> EmailMessage does not raises errors
>
> I am not dealing with python2.7 right.
We were using Python 2.7 on this project
--
Ticket URL: <https://code.djangoproject.com/ticket/29140#comment:9>