* Allow `attach_alternative("content", "text/plain")` in place of setting
an EmailMessage's `body`, and generally improve alternative part
handling for consistency with Django's SMTP EmailBackend.
(Thanks to `@cjsoftuk`_ for reporting the issue.)
Remove "sending a message from sender to recipient" from AnymailError
text, as this can unintentionally leak personal information into logs.
[Note that AnymailErrordoes still include any error description
from your ESP, and this often contains email addresses and other content
from the sent message. If this is a concern, you can adjust Django's logging
config to limit collection from Anymail or implement custom PII filtering.]
(Thanks to @coupa-anya_ for reporting the issue.)
Other
Postmark: Document limitation on track_opens overriding Postmark's
server-level setting. (See
docs <https://anymail.readthedocs.io/en/stable/esps/postmark/#limitations-and-quirks>__.)
Expand testing documentation <https://anymail.readthedocs.io/en/stable/tips/testing/>__
to cover tracking events and inbound handling, and to clarify test EmailBackend behavior.
In Anymail's test EmailBackend, add is_batch_send boolean to anymail_test_params
to help tests check whether a sent message would fall under Anymail's batch-send logic.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps django-anymail from 8.4 to 8.5.
Release notes
Sourced from django-anymail's releases.
Changelog
Sourced from django-anymail's changelog.
Commits
3572ec5
Release 8.5bb8e583
Tests: clean up env var handlingd3730f0
Docs: cover testing tracking and inbound webhooksa868bf3
Docs: cover Postmark limitation ontrack_opens
2b146c1
Docs: update intersphinx linksdc0a46a
Feature: addis_batch_send
toanymail_test_params
10f569c
Fix: don't include sender/recipient in AnymailError description60fbe1e
Fix: treat first text/plain alternative as plaintext body28247ec
Packaging: Update trove classifierse8a802b
CI: Upgrade skip-duplicates in integration testsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)