Email from verified address never arrives

0

Hi, I have an SES account where I have verified two email addresses, let's say one is from Domain A, and the other is from Domain B. Both email addresses were verified by issuing the verification emails from the AWS console. A recipient clicked the link in each of the resulting emails, and the verification status shows as "verified" (green) in the AWS console. I did not do any DKIM settings.

If I send an email through SES using the Domain A email address as the "from" address, it works fine. If I use the Domain B address to send an email, I'll get a successful response, but the email never arrives.

How can I diagnose what's happening?

I am using a Node script with AWS Lambda to send the emails. I am using the popular nodemailer library. When I send the emails, I am getting a successful result with a message ID. I get the same result if I use the 'Send a Test Email' option in the AWS console. It works if I use the Domain A address, but not the Domain B one. I have tried setting the recipient to be different email addresses from totally different services/domains too. I never received the email to any of them. So I don't think it is the case of one service just blocking the email.

Here is an example message ID for an email that seems to disappear:
89811703-1ccb-4e4b-de04-f344b9269e6f

atq
asked 5 years ago423 views
5 Answers
0

Hi,

Are you able to check if emails are landing to spam/junk folders when sending from that specific from address? Have you tried sending test emails to recipient in other domains such as gmail.com , yahoo or hotmail.

I am happy to check this further for you, if you can provide me the Message-ID (the one you provided below is not an SES message ID), or if you can provide me the "from", "to" addresses and the exact time-stamp. Only then I will be able to pull further details.

Regards,
Gaurav @ AWS

answered 5 years ago
0

Thanks for the help. I think maybe it's being blocked by spam filters. An email I sent to an outlook (hotmail) address ended up in the junk folder. However, emails to other addresses I tried never showed up even in the junk folders. Maybe they were blocked. It could be because the content of my test emails just had a few words like "hi" and such. I will try it with more realistic emails to see if that makes a difference. In the mean time though, here is the output in the CloudWatch logs from sending a test email with a test Lambda function that I made just now:

=====
2019-07-16T20:22:19.042Z 616433db-5d00-4784-bee8-8ccfddddf13c { accepted: [ 'andyt@qualtrics.com', 'COIProgram@syf.com' ],
rejected: [],
envelopeTime: 60,
messageTime: 181,
messageSize: 499,
response: '250 Ok 0100016bfc733c25-bd57d267-a958-4f39-8975-35a7e955e9db-000000',
envelope:
{ from: 'coi@coisurvey.synchronybank.com',
to: [ 'andyt@qualtrics.com', 'COIProgram@syf.com' ] },
messageId: '959dabd6-8de2-9d9f-24e1-3f4098e4be09@coisurvey.synchronybank.com' }

atq
answered 5 years ago
0

hello,

Thank you for providing the details. I can confirm this email was sent from "coi@coisurvey.synchronybank.com" to two recipients ["andyt@qualtrics.com", "COIProgram@syf.com"] out of which one bounced => andyt@qualtrics.com

Action: failed
Final-Recipient: rfc822; andyt@qualtrics.com
Diagnostic-Code: smtp; 550-5.7.1 Unauthenticated email from synchronybank.com is not accepted due to
550-5.7.1 domain's DMARC policy. Please contact the administrator of
550-5.7.1 synchronybank.com domain if this was a legitimate mail. Please visit
550-5.7.1 https://support.google.com/mail/answer/2451690 to learn about the
550 5.7.1 DMARC initiative. c33si8015824uac.108 - gsmtp
Status: 5.7.1

Here is the dmarc policy -

$ dig TXT _dmarc.synchronybank.com +short
"v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1; ri=3600"

DMARC Compliance:
a. DMARC is an email authentication protocol that uses SPF and DKIM to detect email spoofing.
b. To be DMARC compliance through SPF the RFC 5322 From address must match (either exactly or allowing subdomains) with the RFC5321 MailFrom or Return-Path email address.
c. To be DMARC compliance through DKIM, the signing domain and the RFC 5322 From headers must match (either exactly or allowing subdomains) and also the email must pass SPF validation.
d. On SES the MAIL FROM domain has to be a subdomain of the sender domain so to comply with DMARC in SES, you must set up a custom MAIL FROM domain, publish an SPF record, and use relaxed alignment in your DMARC policy.

For further information about DMARC:
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/dmarc.html

Using a Custom MAIL FROM Domain with Amazon SES -
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html

Easy DKIM in Amazon SES -
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html

Regards,
Gaurav @ AWS

answered 5 years ago
0

Thank you!

For future reference, is there somewhere/somehow I can see the logs that show that the email bounced?

atq
answered 5 years ago
0

Hello,

You can monitor bounces, complaints, and deliveries via SNS topics. Once you create the topics, you will then receive notifications related to the events you requested. So in your case, you would set a topic for bounces and any time an email sent via SES bounces, you will receive a notification with the relevant information so you can take action.

You can find out more details about the setup and use of these notifications at the following links -

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-email.html
https://aws.amazon.com/blogs/ses/handling-bounces-and-complaints/

I have included a link below to a blog on an automated way of monitoring your bounces and complaints:
https://aws.amazon.com/blogs/compute/maintaining-a-healthy-email-database-with-aws-lambda-amazon-sns-and-amazon-dynamodb/

Regards,
Gaurav @ AWS

answered 5 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions