Live data from Hacker News

A serverless email server on AWS using S3 and SES

github.com

111–120 of 217 posts

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

#111
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".

> serverless server? This isn’t a contradiction. “Server” is an overloaded term and the “server” in “serverless” refers to a different meaning of “server” than the “email server” bit. “Serverless” means there is no physical or virtual hosts to manage, you just supply the request handler i.e., the email server . It's amusing because it sounds like a contradiction, but it's not one.

"means there is no physical or virtual hosts to manage"

We're just swapping one type of management for another, really. Becoming proficient in all the permutations of AWS stack, for example, to

* make sure you don't get overbilled,

* have appropriate memory/limit resources on your lambdas,

* have correct backup/redundancy on s3,

* make sure all your IAM policies are correct and not allowing malicious actors, etc.

and more... it's ... just a different set of things to worry about. Yay - I don't have a 'server' that can go down. I now just have to make sure I don't get billed $87k because I forgot to click the correct button.

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

#113

Earlier quoted context omitted.

> Can you link to something where this is a common accepted definition? I'm a systems engineer by trade, talk to a bajillion people about all sort of things and we just don't call a "service in a network" a server in parlance. This seems to be a common point of confusion for people who aren't native English speakers. Oxford English Dictionary defines "server" as: > a computer or computer program which manages access…

> This seems to be a common point of confusion for people who aren't native English speakers Where did this come from and what value does it have, other than being condescending to non-native English speakers? I am a native speaker and we're having a discussion in my native tongue about words in my native language about work I do as a profession. > Similarly, a quick bit of Googling turned up [this][1] I do not accep…

Where did this come from and what value does it have, other than being condescending to non-native English speakers?

I don't think he was being condescending, so there's no need to be offended on behalf of other people.

I think he was suggesting that part of the linguistic confusion comes from how the tech industry has become so global that different words and phrases are exchanged between cultures, but within the tech sphere.

For example, it's not uncommon to hear the phrase "Do the needful" in places like Seattle, even though the phrase originated elsewhere and was imported by tech workers.

I do not accept Stackoverflow as an authoritative source for anything.

Good call. I'm with you there.

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

#114

This is great but it's a bit misleading. It only store email on S3, that mean you cannot read email with your email client. Seem thing with outgoing, you upload email to s3 in a certain format to be send out, not smtp protocol This is more like an API for sending and receiving. You cannot say generate SMTP credential and drop in your mail client. Also, one of the limitation with AWS SES is you cannot sent FROM or RET…

I do something similar to OP [0] - and currently forward to another provider (single address, but that's only the 'envelope' To; so it doesn't matter, I preserve the original whatever.to.address).

That's mostly an artefact of transitioning from that provider to my own on AWS, but I stopped working on it for some time and never continued. My plan was/still is to write a client that can read 'Just a Bunch of .Eml' format, and then I can point that at S3 (or via S3FS or whatever). Everything that exists for mailbox, maildir, and what-have-you assumes you need it to act as an MTA (I think that's right) and do the actual receiving too; and is difficult/impossible to stop that and say 'no, here's a directory full of email, just be a reader'.

Longer-term plan/idle thought is to have a JMAP server on Lambda. (IMAP isn't possible, because it has to look like/be HTTP to reach the Lambda.)

[0] - https://github.com/OJFord/amail

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

#115

Earlier quoted context omitted.

> Can you link to something where this is a common accepted definition? I'm a systems engineer by trade, talk to a bajillion people about all sort of things and we just don't call a "service in a network" a server in parlance. This seems to be a common point of confusion for people who aren't native English speakers. Oxford English Dictionary defines "server" as: > a computer or computer program which manages access…

> This seems to be a common point of confusion for people who aren't native English speakers Where did this come from and what value does it have, other than being condescending to non-native English speakers? I am a native speaker and we're having a discussion in my native tongue about words in my native language about work I do as a profession. > Similarly, a quick bit of Googling turned up [this][1] I do not accep…

> Where did this come from and what value does it have, other than being condescending to non-native English speakers?

What is condescending? I'm observing that it's a common problem among non-native English speakers. It seems like you're taking offense on behalf of others and unduly so.

> I am a native speaker and we're having a discussion in my native tongue about words in my native language about work I do as a profession.

This is a common idiom among English-speaking IT professionals. If you're not familiar, that's fine. Now you know.

> I do not accept Stackoverflow as an authoritative source for anything

In a minute of Googling, I found several random sources on the Internet that indicate that the term is overloaded precisely as I described. One of those sources was the Oxford English Dictionary. I think that suffices to demonstrate that this is a common idiom, but I can't force you to be persuaded. ¯\_(ツ)_/¯

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

#116
This is great. I tried a similar approach but couldn't use it as a transactional email server because of this (taken from OP's readme):

> By default, you can't send emails to unverified addresses. If you'd like to be able to send (as opposed to just receiving), you'll need to reach out to AWS to remove this limitation from your account.

I reached out AWS to remove this limitation but they refused my request 3 times claiming that my use case would impact the deliverability of their service.

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

#117

I was hoping this would include a lambda set up to respond to incoming requests on ports 25/465/587, but all the SMTP parts (both server/inbound and client/outbound) are being handled by Amazon SES, not by the serverless functions.

It's not possible. I wanted to do that with mine (similar thing to OP) - not actually for SMTP but for IMAP or even POP3, but you can't with Lambda - you can only reach it (from outside AWS) with HTTP(S).

(I use a Lambda to forward to another provider currently, and use their client. I plan to write my own to replace that; ultimately I'd just like to run a JMAP server on a Lambda, that you could do.)

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

#119
I'm confused, does this use different IP addresses constantly? How is this mailserver able to send email without an IP based reputation? Is it just that Amazon is so giant other mega-corp email providers are wary to blacklist their IP range?

If so this is a wonderful way to send spam without ever worrying about IP reputation. I imagine it will be abused and then blacklisted quickly.

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

#120

I'm confused, does this use different IP addresses constantly? How is this mailserver able to send email without an IP based reputation? Is it just that Amazon is so giant other mega-corp email providers are wary to blacklist their IP range? If so this is a wonderful way to send spam without ever worrying about IP reputation. I imagine it will be abused and then blacklisted quickly.

The Lambda doesn't send or receive email directly, it uses SES.

SES handles this in a delegated way via DKIM signatures (Domain Keys Identified Mail).

Post reply on HN