Skip to content

Unable to send when no to: address supplied. #1173

Closed
@buckett

Description

@buckett

Type: Bug

Component:
SES

Describe the bug
Unable to send an email that doesn't have an TO: address.

We were attempting to send an email that just has lots of BCCs (no TO: address) and this worked with JavaMail, but when we switched to using the Spring Cloud AWS integration it started failing. According to the documentation on SES it states:

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.

Sample

    SimpleMailMessage template = new SimpleMailMessage();
    template.setFrom("Sender <[email protected]>");
    template.setSubject("Subject");
    template.setBody("Nothing to see here");

    SimpleMailMessage message = new SimpleMailMessage(template);
    message.setBcc("User 1 <[email protected]>", "User 2 <[email protected]>");
    mailsender.send(message).

Workaround

To workaround this you can set the to address to be new String[]{} which is the same as passing nothing. This ends up setting the to address to not be null, but doesn't cause problems with the SES implementation.

    message.setTo();

Passing null doesn't work as this creates an array with one item (of value null) which then fails because it's not a valid email.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions