Live data from Hacker News

A serverless email server on AWS using S3 and SES

github.com

21–30 of 217 posts

Re: A serverless email server on AWS using S3 and SES

#21
post #7

Reading it I get that AWS now by default restricts email by - 200 mails per day max. 1 per second. - Can only send mail to verified addresses. Not sure how they verify though. - Can only send mail from the domain you own and verified. All these are good steps. Guess that will gradually take AWS IPs out of all those mail blacklists. And while we are on the topic, I find IP based mail blacklist services such as BRBL ob…

These restrictions are only for the SES sandbox mode. You fill in a form to get out of sandbox mode and then you can send many more per day (still only 14/second or so).

You only verify addresses you want to send from (for testing you might verify one to try sending to as per the sandbox rules). You wouldn't get customers to verify their addresses here, as that would let you send email on their behalf.

See here: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/reques...

Re: A serverless email server on AWS using S3 and SES

#25
post #8
post #3

Am I reading this correctly, you have to upload a JSON file to an S3 bucket to send an email? That’s not really email then, is it?

SES supports using SMTP to send emails - so I don't know why this particular setup would prohibit that. https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-e...

> This flow was designed to take advantage of the S3 trigger system and break each action into a small Lambda.

The email flows from S3 => Lambda => SES so the underlying design seems to prohibit sending of emails directly from SES.

It sounds like SES could still be used directly, but you then need to add in authorization and user management if you're accessing it externally.

It's a cool project and I can envision it being used for internal tooling for automated email notifications or something of that nature. Just doesn't seem practical for users.

Re: A serverless email server on AWS using S3 and SES

#26
post #21
post #7

Reading it I get that AWS now by default restricts email by - 200 mails per day max. 1 per second. - Can only send mail to verified addresses. Not sure how they verify though. - Can only send mail from the domain you own and verified. All these are good steps. Guess that will gradually take AWS IPs out of all those mail blacklists. And while we are on the topic, I find IP based mail blacklist services such as BRBL ob…

These restrictions are only for the SES sandbox mode. You fill in a form to get out of sandbox mode and then you can send many more per day (still only 14/second or so). You only verify addresses you want to send from (for testing you might verify one to try sending to as per the sandbox rules). You wouldn't get customers to verify their addresses here, as that would let you send email on their behalf. See here: http…

All very good info that as far as I know is all pretty unique to SES regarding the default/sandbox vs the upgraded production capabilities. The set up makes a lot of sense to prevent abuse and it works just fine out of the box for dev purposes. The production version also operates way more how you'd actually expect an email service to work.

All that said, I don't know of any other services that have this "production" upgrade that is needed other than maybe just the general service limits (which have always seemed more of a "protect you from yourself" situation) so it can be a touch confusing.

Re: A serverless email server on AWS using S3 and SES

#27
post #13
post #7

Reading it I get that AWS now by default restricts email by - 200 mails per day max. 1 per second. - Can only send mail to verified addresses. Not sure how they verify though. - Can only send mail from the domain you own and verified. All these are good steps. Guess that will gradually take AWS IPs out of all those mail blacklists. And while we are on the topic, I find IP based mail blacklist services such as BRBL ob…

> Guess that will gradually take AWS IPs out of all those mail blacklists. Are you thinking of EC2? SES has never had a problem with this in my experience. Regarding verification, you can verify any email address where you can receive a link long enough to click on it. Domain validation is only needed if you want to send mail from arbitrary addresses without that step.

Individual SES IP's have been [temporarily] blacklisted before. We hit this issue earlier this year with one spam filter/service, and you can find plenty of past examples in the SES forums.

e.g.

https://forums.aws.amazon.com/thread.jspa?threadID=233001

https://forums.aws.amazon.com/thread.jspa?threadID=323992

Re: A serverless email server on AWS using S3 and SES

#28
post #22

A serverless server? It is a great illustration of how the term "serverless" has shifted from literally no server (ex: sqlite database) to "somebody else's computer".

I literally had one of the heads of a crucial flight system project loudly exclaim to me in front of the senior managers. "It's serverless - there is no server!"

To which I honestly, just kept my mouth shut and stood aside.

Re: A serverless email server on AWS using S3 and SES

#29

I use this myself for forwarding emails and signing up for random sites. Pretty easy to set up and 0 overhead to maintain. One of these days I'll set up a ui around it to send emails. Having both set up and maintained an email server "the old fashioned way" and using this, the over head on this is way less than postfix et al. This only goes for receiving email though, sending email with this is a biiit clunky, and do…

If you only want forwarding, you could look at https://www.nearlyfreespeech.net/services/email . You'd have to do a bit of math to figure out the total price (depending on if you want/need DNS there to make it work), but it is _really_ cheap and easy.

(not affiliated in any way, just a customer)

Re: A serverless email server on AWS using S3 and SES

#30
I'm not sure what the point is, since this solution doesn't give you an IMAP server to connect to with your email client. Also the solution seems a bit complex with all those CodePipelines and CodeBuilds. I think all you really need is one or two Lambda functions if you're just going to store stuff in S3.
Post reply on HN