Writing an SMTP service in Go

Submitted by Frederic Marand on
Gopher sorting mail, by fgm@osinetfr and Dall-E 2

Because sometimes, it's nicer to users to allow them to contact us by email, it occasionally becomes useful to handle incoming mail. Let's see how.

In this talk I have at DevoxxFR 2023 on 2023-04-14, we shall see

  • the pros and cons of push (straight SMTP with or without TLS) vs pull (POP3, IMAP4, CDO, MAPI...) strategies to handle incoming mail
  • how to choose between full custom code and the cloud solutions provided by AWS SES and GCP GAE inbound email handling
  • a concrete example of how to write a SMTP server pretty much like one would write a classic HTTP server in Go 1.20