#28912 closed Cleanup/optimization (fixed)
EmailMessage.message() should not set a blank To: field when EmailMessage.to is empty
Reported by: | Jon Dufresne | Owned by: | nobody |
---|---|---|---|
Component: | Core (Mail) | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
EmailMessage.message()
always sets a To:
header, see:
In my project, emails are sent to Cc:
or Bcc:
recipients without a To:
recipient.
Some mail backends are very strict about allowed headers and their values. For example, Amazon Simple Email Service (SES) validates all recipient headers to contain valid email addresses. It fails without delivery if any header contains an invalid address. For some details, see:
https://boto3.readthedocs.io/en/latest/reference/services/ses.html#SES.Client.send_raw_email
The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain ), the entire message will be rejected, even if the message contains other recipients that are valid.
SES considers blank as invalid. When sending an email serialized by EmailMessage.message()
to Cc:
or Bcc:
only addresses, SES fails with an error. To:
avoid the error, Django can avoid setting the To header when EmailMessage.to
is empty.
Change History (5)
comment:1 by , 7 years ago
Has patch: | set |
---|
comment:3 by , 7 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
PR