How to get "message-id" sent via net/smtp, SSL?

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
  • go-simple-mail

    Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.

    You can however set a custom message ID, although the standard library doesn't provide an easy way to do this. go-simple-mail to the rescue:

  • pgx

    PostgreSQL driver and toolkit for Go

    On the Go side, I'd setup a goroutine fetching unprocessed records in a regular interval (pgx has LISTEN/NOTIFY support) an throwing them in a channel to be processed by n worker goroutines. (This depends on the volume/throughput requirements, of course, but since this would only be a few dozen lines of extra code, I'd always go this route. There's few thing worse than impatient customers demanding at 3am that their mail is sent now...)

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts