Live data from Hacker News

A serverless email server on AWS using S3 and SES

github.com

81–90 of 217 posts

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

#81
post #75

Note that using the + address "trick" in email addresses is silly: everyone knows it and can strip it out with a simple regex. It doesn't accomplish the main things that it exists to do, which are to a) make it non-obvious what your username for a site is and b) make it obvious where a spammer got your email.

The main thing it exists to do is to route email to folders or special handlers. It has nothing to do with spam or obfuscation, and predates the concept of spam.

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

#82

Earlier quoted context omitted.

> 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.

I disagree with your assessment, email is a service and not a server . A service can run on a server, or ephemerally as in this article (which still has servers underneath it, you're just not running them). S3 and SES are services running on servers.

> email is a service and not a server.

Those aren't mutually exclusive, which is my whole point. One definition of "server" is "a service in a network". Another definition is "a computer in a network". So you can have a server running on a server without contradiction. If the user isn't responsible for managing the underlying computer, then you have a serverless server.

> which still has servers underneath it, you're just not running them

Of course, "serverless" means you don't have to worry about the underlying servers, not that they don't exist. Perhaps you were only clarifying and not nerd-sniping, but this particular nit is so boring and predictable in every serverless thread.

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

#83

Earlier quoted context omitted.

I disagree with your assessment, email is a service and not a server . A service can run on a server, or ephemerally as in this article (which still has servers underneath it, you're just not running them). S3 and SES are services running on servers.

You are incorrect, see man pages.

This makes no sense (too abstract of a statement), but here let's try this:

    $ man systemd | head -4 | tail -1
       systemd, init - systemd system and service manager
An email daemon (Postfix, Exim, Dovecot, UW-IMAP, Sendmail, etc.) are services running on a server. An "email server" would be a server running a daemon to provide email service in this example.

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

#84
post #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.

All you'd really need is a file explorer that works with S3. Create a new file in the TMP folder, and it gets sent out. View received emails in the appropriate folders. It would also be trivial to setup an app or web form for creating the JSON file and uploading to S3.

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

#85

Earlier quoted context omitted.

I disagree with your assessment, email is a service and not a server . A service can run on a server, or ephemerally as in this article (which still has servers underneath it, you're just not running them). S3 and SES are services running on servers.

> email is a service and not a server. Those aren't mutually exclusive, which is my whole point. One definition of "server" is "a service in a network". Another definition is "a computer in a network". So you can have a server running on a server without contradiction. If the user isn't responsible for managing the underlying computer, then you have a serverless server. > which still has servers underneath it, you're…

> One definition of "server" is "a service in a network"

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.

I was not nerd-sniping and could care less about serverless as a term, I'm specifically talking about calling a "service" a "server" in this chat. I feel this is presenting something as accepted definition which does not match my experience in the field.

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

#86
post #14

Earlier quoted context omitted.

IPs are still a precious commodity, hence the threat of being listed by a high quality blocklist like Spamhaus provides an effective degree of encouragement for senders to clean up their act. Domain blocklists also exist, but the stick isn’t as sharp, because domains are a dime a dozen.

IPv6 has entered the chat.

Meh. Something like 95% of mail servers wont work with IPv6 last I checked. Source: I helped build and maintain an MTA that moved over a trillion emails last year.

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

#87

Earlier quoted context omitted.

You are incorrect, see man pages.

This makes no sense (too abstract of a statement), but here let's try this: $ man systemd | head -4 | tail -1 systemd, init - systemd system and service manager An email daemon (Postfix, Exim, Dovecot, UW-IMAP, Sendmail, etc.) are services running on a server. An "email server" would be a server running a daemon to provide email service in this example.

This makes me think there should be a Linux tool to extract the Nth line of a file. With options to get the N-Mth lines, etc

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

#88

Earlier quoted context omitted.

> 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.

> This isn’t a contradiction. Yes it is. The "server" in "serverless" means no need to low-level manage/provision a server (computer) and its lifecycle. While "server" in "A serverless email server" means actually "service" as in "A serverless email service on AWS using S3 and SES". Which makes much more sense. The linked repo lets you have an "email server" just like GSuite gives you a "serverless email server".

I don't understand. You insist it's a contradiction but then go on to reiterate my own argument which demonstrates that it is not, in fact, a contradiction but rather using the same term ("server") to refer to two distinct concepts ("computer" vs "service")?

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

#89
post #32

Earlier quoted context omitted.

My understanding of it has been "look, I reinvented cgi-bin."

Is cgi-bin highly available and will someone else have to wake up at night if it crashes?

I ran an e-mail service with 2m users. The web frontend was written in C++ (no, I don't want to go back, but we had a pretty nice custom framework) all served up as a CGI, behind a load balancer.

If our code crashed, the next request would just get served as normal. If Apache crashed or a frontend crashed, another one would just take its place. High availability cgi-bin is trivial.

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

#90
post #87

Earlier quoted context omitted.

This makes no sense (too abstract of a statement), but here let's try this: $ man systemd | head -4 | tail -1 systemd, init - systemd system and service manager An email daemon (Postfix, Exim, Dovecot, UW-IMAP, Sendmail, etc.) are services running on a server. An "email server" would be a server running a daemon to provide email service in this example.

This makes me think there should be a Linux tool to extract the Nth line of a file. With options to get the N-Mth lines, etc

Man pages can be tricky as the content can vary distro by distro (how up to date is your copy of man-pages, what changes have happened, etc.) - this technique is pretty portable to extract the synopsis of a man page specifically due to the format it uses (most times I'd use like grep -A3 -B2 foo /some/file, e.g.).
Post reply on HN