arithmetric / aws-lambda-ses-forwarder

Serverless email forwarding using AWS Lambda and SES
MIT License
1.7k stars 450 forks source link

Auto response when no recipient or mail > 10MB #127

Open ThomasTJdev opened 3 years ago

ThomasTJdev commented 3 years ago

This PR consist of two main elements - auto response on:

550 - no recipient found

When a person is sending an email, and global catch (@example.com) is not enabled, the email will just disappear - neither the sender nor the email-admin will be notified. If the new "notify"-config is enabled, the sender will be informed, that the recipient does not exists.

Config

notifyEmail: "MAILER-DAEMON@example.com",
notify550: true,

Response

An error occurred while trying to deliver the mail to the following recipients: test@example.com

Your email was rejected. The email address was not found. Please check the receiving email address.

SMTP Reply Code = 550, SMTP Status Code = 5.1.1

552 - mail size exceeds 10 MB

Another problem is when the mail size exceeds AWS's limit on 10MB. This will also fail silently (#97, #124) - not notifying either the sender or the email-admin. If the new "notify"-config is enabled, the sender will be informed, that the recipient does not exists.

Config

notifyEmail: "MAILER-DAEMON@example.com",
notify552: true,

Response

An error occurred while trying to deliver the mail to the following recipients: test@example.com

Your email was rejected. Please ensure that the size of your mail is less than 10 MB.

SMTP Reply Code = 552, SMTP Status Code = 5.3.4
ThomasTJdev commented 3 years ago

Well, these test cases is not my thing - if anyone wanna pitch in, please feel free!

Over and out.

villelahdenvuo commented 1 year ago

This looks like a great improvement. Note that now we are able to ask for quote increase up to 40MB: https://aws.amazon.com/about-aws/whats-new/2021/09/amazon-ses-emails-message-40mb/

ThomasTJdev commented 1 year ago

Thanks @villelahdenvuo, I wasn't aware of that. I'll update it to be an adjustable value.

villelahdenvuo commented 1 year ago

@ThomasTJdev Looks like the 40MB limit is only available with the api version 2: https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html

https://docs.aws.amazon.com/ses/latest/dg/quotas.html#:~:text=Yes-,Message%20quotas,-Resource