Carlton Gibson
1564e42ad3
Refs #30512 , #15042 -- Added local-only address to sanitize_email() tests cases.
...
email.headerregistry.parser.get_mailbox() returns a token with a `token_type` attribute.
If `token_type` is `’invalid-mailbox’` then RFC violations have been detected. Emails with only the local part, and no domain, are correctly parsed but are marked as `’invalid-mailbox’`.
As per #15042 , local-only are supported, to enable sending to addresses on localhost.
sanitize_email() does not currently check `token_type`. This test is added to avoid a regression in case this is revisited in the future.
2019-06-13 17:29:58 +02:00
Joachim Jablon
2628ea9515
Fixed #30512 -- Used email.headerregistry.parser for parsing emails in sanitize_address().
2019-06-13 16:22:15 +02:00
Joachim Jablon
8ba20d9071
Refs #30512 -- Added tests for sanitizing email addresses with display name and two @ signs.
2019-06-06 15:05:56 +02:00
Joachim Jablon
f841a776fe
Refs #30512 -- Used subTest() in MailTests.test_sanitize_address.
2019-06-06 14:50:40 +02:00
Sergey Fedoseev
1933e56eca
Removed uneeded generator expressions and list comprehensions.
2019-02-09 09:18:48 -05:00
Tim Graham
7e6b214ed3
Fixed #30116 -- Dropped support for Python 3.5.
2019-01-30 10:19:48 -05:00
Jon Dufresne
7785e03ba8
Fixed #30137 -- Replaced OSError aliases with the canonical OSError.
...
Used more specific errors (e.g. FileExistsError) as appropriate.
2019-01-28 11:15:06 -05:00
Tim Graham
0004daa536
Used 4 space hanging indent for dictionaries.
...
Thanks Mariusz Felisiak for auditing.
2019-01-02 18:18:19 -05:00
Denis Stebunov
277de22984
Fixed #30058 -- Made SMTP EmailBackend.send_messages() return 0 for empty/error cases.
2018-12-26 13:33:08 -05:00
jannschu
efc0f77f02
Fixed #29830 -- Fixed loss of custom utf-8 body encoding in mails.
2018-10-22 15:21:33 -04:00
Tim Graham
ec594942cd
Removed unnecessary str() in mail tests.
...
Unnecessary since their introduction in
fa75b2cb51
.
2018-08-04 10:15:51 -04:00
Mariusz Felisiak
362813d628
Fixed hanging indentation in various code.
2018-03-16 10:54:34 +01:00
Williams Mendez
2691ed7ba1
Fixed #29140 -- Fixed EmailMessage crash when body is None.
2018-02-20 09:34:01 -05:00
Tim Graham
fa75b2cb51
Refs #27795 -- Removed force_bytes/text() usage in tests.
2018-02-07 14:20:04 -05:00
Mads Jensen
999fc0687d
Added a few tests for smtp EmailBackend.
2018-01-15 12:25:17 -05:00
Jon Dufresne
da82939e5a
Fixed #28912 -- Made EmailMessage.message() omit an empty To header.
2017-12-30 09:38:03 -05:00
Jon Dufresne
b03d500295
Fixed #28971 -- Made EmailMessage.message() set Cc from headers dict if it exists.
2017-12-30 09:37:59 -05:00
Jon Dufresne
6334939417
Tested passing To/Cc/Reply-To in EmailMessage(headers=...) without the corresponding argument.
2017-12-29 12:50:31 -05:00
Tim Graham
cfff2af02b
Fixed #27857 -- Dropped support for Python 3.4.
2017-09-25 17:11:03 -04:00
Tim Graham
6e4c6281db
Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
...
This reverts commit 550cb3a365
because try/except performs better.
2017-09-07 08:16:21 -04:00
Igor Tokarev
af35c69a3c
Fixed #26344 -- Made EmailMessage include alternatives when the body is empty and it has attachments.
2017-09-04 08:46:11 -04:00
Mads Jensen
550cb3a365
Fixed #27818 -- Replaced try/except/pass with contextlib.suppress().
2017-06-28 14:07:55 -04:00
kalombo
dd00184892
Fixed #28042 -- Fixed crash when using a two-tuple in EmailMessage's attachments arg.
2017-04-07 18:02:34 -04:00
kalombo
aedfe0ddd7
Tested EmailMessage(attachments=[MIMEText])
2017-04-07 18:01:31 -04:00
Claude Paroz
9a9e228321
Fixed #27848 -- Prevented crash when attaching a .eml file to a message
...
Thanks Sébastien Ramage for the report.
2017-04-01 16:19:03 +02:00
Claude Paroz
8346680e1c
Refs #27795 -- Removed unneeded force_text calls
...
Thanks Tim Graham for the review.
2017-03-04 18:18:21 +01:00
Tim Graham
500532c95d
Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode().
2017-02-09 09:03:47 -05:00
Claude Paroz
c651331b34
Converted usage of ugettext* functions to their gettext* aliases
...
Thanks Tim Graham for the review.
2017-02-07 09:04:04 +01:00
Chillar Anand
6478e07a62
Refs #23919 -- Replaced tempfile.mkdtemp() with TemporaryDirectory() context manager.
2017-01-26 13:54:16 -05:00
Tim Graham
1c466994d9
Refs #23919 -- Removed misc Python 2/3 references.
2017-01-25 13:59:25 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Claude Paroz
042b7350a0
Refs #23919 -- Removed unneeded str() calls
2017-01-20 14:13:55 +01:00
Tim Graham
4e729feaa6
Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage.
...
These functions do nothing on Python 3.
2017-01-20 08:01:02 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Claude Paroz
2b281cc35e
Refs #23919 -- Removed most of remaining six usage
...
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
c716fe8782
Refs #23919 -- Removed six.PY2/PY3 usage
...
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Claude Paroz
9390533951
Fixed #27696 -- Measured email long lines on encoded content
...
Thanks Pavel Pokrovskiy for the report and Tim Graham for the review.
2017-01-06 16:04:59 +01:00
za
321e94fa41
Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings.
2016-11-10 21:30:21 -05:00
Claude Paroz
8858631498
Fixed #27469 -- Prevented sending email to empty addresses
...
Thanks Jarek Glowacki for the report.
2016-11-10 19:47:02 +01:00
Jon Dufresne
9b9c8c4a81
Fixed #27368 -- Modifed BaseEmailBackend.__enter__() to close the connection if an exception occurs.
...
Fixes unclosed socket ResourceWarning in mail test.
Thanks Claude Paroz for the review.
2016-10-21 05:59:07 -07:00
Claude Paroz
458e2fbfcc
Fixed #27333 -- Prevented BASE64 encoding in message.as_string() on Python 3
...
Thanks Tim Graham for the review.
2016-10-12 20:48:09 +02:00
Tim Graham
b2f9db1637
Removed redundant usage of assertNotIn() in a mail test.
...
The Content-Transfer-Encoding header won't be repeated, so checking
the header is sufficient.
2016-10-12 14:26:17 -04:00
Tim Graham
f6fe8ecc10
Refs #27210 -- Fixed isolation of test_fail_silently_on_connection_error.
...
The test wouldn't pass if a mail server is running on the system.
2016-09-30 12:22:52 -04:00
Vesteinn Snaebjarnarson
602bffe758
Fixed #27210 -- Allowed SMTPBackend to fail silently on a socket connection error.
2016-09-27 14:34:49 -04:00
levental
42dc9d0400
Fixed #26210 -- Prevented SMTP backend from trying to send mail after a connection failure.
2016-09-21 16:45:10 -04:00
Claude Paroz
fe252c0a5a
Fixed #27131 -- Passed proper string type to SMTP connection login
...
Passing an Unicode string on Python 2 was crashing the connection.
Thanks slavugan@gmail.com for the report, and Tim Graham for the review.
2016-08-31 09:00:41 +02:00
Michael Schwarz
72d541b61c
Fixed #27007 -- Handled non-UTF-8 bytes objects for text/* attachments.
...
The fallback logic which allows non-UTF-8 encoded files to be passed to
attach_file() even when a `text/*` mime type has been specified is
moved to attach(). Both functions now fall back to a content type of
`application/octet-stream`.
A side effect is that a file's content is decoded in memory instead of
opening it in text mode and reading it into a string.
Some mimetype-related logic in _create_attachment() has become
obsolete as the code moved from attach_file() to attach() already
handles this.
2016-08-12 16:35:09 -04:00
Antoine Fontaine
004ba05bca
Fixed #27036 -- Made locmem email backend's send_messages() accept generators.
2016-08-08 20:13:29 -04:00