| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-09-03 | [4.2.x] Fixed CVE-2024-45231 -- Avoided server error on password reset when ↵ | Natalia | |
| email sending fails. On successful submission of a password reset request, an email is sent to the accounts known to the system. If sending this email fails (due to email backend misconfiguration, service provider outage, network issues, etc.), an attacker might exploit this by detecting which password reset requests succeed and which ones generate a 500 error response. Thanks to Thibaut Spriet for the report, and to Mariusz Felisiak, Adam Johnson, and Sarah Boyce for the reviews. | |||
| 2022-11-10 | Updated documentation and comments for RFC updates. | Nick Pope | |
| - Updated references to RFC 1123 to RFC 5322 - Only partial as RFC 5322 sort of sub-references RFC 1123. - Updated references to RFC 2388 to RFC 7578 - Except RFC 2388 Section 5.3 which has no equivalent. - Updated references to RFC 2396 to RFC 3986 - Updated references to RFC 2616 to RFC 9110 - Updated references to RFC 3066 to RFC 5646 - Updated references to RFC 7230 to RFC 9112 - Updated references to RFC 7231 to RFC 9110 - Updated references to RFC 7232 to RFC 9110 - Updated references to RFC 7234 to RFC 9111 - Tidied up style of text when referring to RFC documents | |||
| 2022-02-19 | Refs #33173 -- Fixed MailTests.test_backend_arg() on Windows and Python 3.11+. | David Smith | |
| 2022-02-07 | Refs #33476 -- Refactored code to strictly match 88 characters line length. | Mariusz Felisiak | |
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2021-10-15 | Refs #32074 -- Removed usage of deprecated asyncore and smtpd modules. | Mariusz Felisiak | |
| asyncore and smtpd modules were deprecated in Python 3.10. | |||
| 2021-10-14 | Refs #27131 -- Removed SMTPBackendTests.test_server_login(). | Mariusz Felisiak | |
| test_server_login() was a regression test for a crash when passing Unicode strings to SMTP server using CRAM-MD5 method on Python 2. Python 2 is no longer supported and test_server_login() passes even without FakeSMTPChannel.smtp_AUTH() because smtplib.SMTPAuthenticationError is raised when AUTH is not implemented. | |||
| 2021-06-04 | Refs #32355 -- Used addClassCleanup() in tests. | Mariusz Felisiak | |
| Inspired by Adam Johnson talk on DjangoCon Europe 2021. | |||
| 2021-03-19 | Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.core. | Daniyal | |
| 2020-08-07 | Used mock.Mock() in SMTPBackendTests. | Konstantin Alekseev | |
| Using bool caused mypy typecheck failures. | |||
| 2020-07-20 | Fixed #31784 -- Fixed crash when sending emails on Python 3.6.11+, 3.7.8+, ↵ | Florian Apolloner | |
| and 3.8.4+. Fixed sending emails crash on email addresses with display names longer then 75 chars on Python 3.6.11+, 3.7.8+, and 3.8.4+. Wrapped display names were passed to email.headerregistry.Address() what caused raising an exception because address parts cannot contain CR or LF. See https://bugs.python.org/issue39073 Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2020-07-20 | Refs #31784 -- Added test for preventing header injection in display name of ↵ | Mariusz Felisiak | |
| email addresses. | |||
| 2020-04-20 | Capitalized Unicode in docs, strings, and comments. | Jon Dufresne | |
| 2019-11-06 | Adjusted expected exception message for Windows. | Jon Dufresne | |
| Test failure introduced in fbbff7f80870bc3e98de4a2fc9cd853949842fd0. Windows uses a different error message when a non-path is passed to os.path functions. | |||
| 2019-11-06 | Refs #29983 -- Added pathlib.Path support to the file email backend. | Jon Dufresne | |
| 2019-07-03 | Fixed #30608 -- Fixed non-unicode EmailMessage crash when domain name for ↵ | Chason Chaffin | |
| localhost is non-ASCII. Assisted by felixxm. | |||
| 2019-07-02 | Fixed #30604 -- Made mail_admins()/mail_managers() raise ValueError if ↵ | Hasan Ramezani | |
| ADMINS/MANAGERS is set incorrectly. | |||
| 2019-06-13 | Refs #30512, #15042 -- Added local-only address to sanitize_email() tests cases. | Carlton Gibson | |
| 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 | Fixed #30512 -- Used email.headerregistry.parser for parsing emails in ↵ | Joachim Jablon | |
| sanitize_address(). | |||
| 2019-06-06 | Refs #30512 -- Added tests for sanitizing email addresses with display name ↵ | Joachim Jablon | |
| and two @ signs. | |||
| 2019-06-06 | Refs #30512 -- Used subTest() in MailTests.test_sanitize_address. | Joachim Jablon | |
| 2019-02-09 | Removed uneeded generator expressions and list comprehensions. | Sergey Fedoseev | |
| 2019-01-30 | Fixed #30116 -- Dropped support for Python 3.5. | Tim Graham | |
| 2019-01-28 | Fixed #30137 -- Replaced OSError aliases with the canonical OSError. | Jon Dufresne | |
| Used more specific errors (e.g. FileExistsError) as appropriate. | |||
| 2019-01-02 | Used 4 space hanging indent for dictionaries. | Tim Graham | |
| Thanks Mariusz Felisiak for auditing. | |||
| 2018-12-26 | Fixed #30058 -- Made SMTP EmailBackend.send_messages() return 0 for ↵ | Denis Stebunov | |
| empty/error cases. | |||
| 2018-10-22 | Fixed #29830 -- Fixed loss of custom utf-8 body encoding in mails. | jannschu | |
| 2018-08-04 | Removed unnecessary str() in mail tests. | Tim Graham | |
| Unnecessary since their introduction in fa75b2cb512409116b6f1b5229d6f99074d8e452. | |||
| 2018-03-16 | Fixed hanging indentation in various code. | Mariusz Felisiak | |
| 2018-02-20 | Fixed #29140 -- Fixed EmailMessage crash when body is None. | Williams Mendez | |
| 2018-02-07 | Refs #27795 -- Removed force_bytes/text() usage in tests. | Tim Graham | |
| 2018-01-15 | Added a few tests for smtp EmailBackend. | Mads Jensen | |
| 2017-12-30 | Fixed #28912 -- Made EmailMessage.message() omit an empty To header. | Jon Dufresne | |
| 2017-12-30 | Fixed #28971 -- Made EmailMessage.message() set Cc from headers dict if it ↵ | Jon Dufresne | |
| exists. | |||
| 2017-12-29 | Tested passing To/Cc/Reply-To in EmailMessage(headers=...) without the ↵ | Jon Dufresne | |
| corresponding argument. | |||
| 2017-09-25 | Fixed #27857 -- Dropped support for Python 3.4. | Tim Graham | |
| 2017-09-07 | Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." | Tim Graham | |
| This reverts commit 550cb3a365dee4edfdd1563224d5304de2a57fda because try/except performs better. | |||
| 2017-09-04 | Fixed #26344 -- Made EmailMessage include alternatives when the body is ↵ | Igor Tokarev | |
| empty and it has attachments. | |||
| 2017-06-28 | Fixed #27818 -- Replaced try/except/pass with contextlib.suppress(). | Mads Jensen | |
| 2017-04-07 | Fixed #28042 -- Fixed crash when using a two-tuple in EmailMessage's ↵ | kalombo | |
| attachments arg. | |||
| 2017-04-07 | Tested EmailMessage(attachments=[MIMEText]) | kalombo | |
| 2017-04-01 | Fixed #27848 -- Prevented crash when attaching a .eml file to a message | Claude Paroz | |
| Thanks Sébastien Ramage for the report. | |||
| 2017-03-04 | Refs #27795 -- Removed unneeded force_text calls | Claude Paroz | |
| Thanks Tim Graham for the review. | |||
| 2017-02-09 | Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode(). | Tim Graham | |
| 2017-02-07 | Converted usage of ugettext* functions to their gettext* aliases | Claude Paroz | |
| Thanks Tim Graham for the review. | |||
| 2017-01-26 | Refs #23919 -- Replaced tempfile.mkdtemp() with TemporaryDirectory() context ↵ | Chillar Anand | |
| manager. | |||
| 2017-01-25 | Refs #23919 -- Removed misc Python 2/3 references. | Tim Graham | |
| 2017-01-25 | Refs #23919 -- Replaced super(ClassName, self) with super(). | chillaranand | |
| 2017-01-20 | Refs #23919 -- Removed unneeded str() calls | Claude Paroz | |
| 2017-01-20 | Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage. | Tim Graham | |
| These functions do nothing on Python 3. | |||
