go-smtp
qpsmtpd
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-smtp
-
SMTP protocol basics from scratch in Go: receiving email from Gmail
Somewhat related: https://maddy.email and the libraries it's built on such as go-smtp https://github.com/emersion/go-smtp
-
Some amazing Golang email libraries
github.com/emersion/go-smtp
- Send SMTP mail
qpsmtpd
-
SMTP protocol basics from scratch in Go: receiving email from Gmail
I used a proxy like this for a few years, though in my case it was to handle spam.
I based my work on :
http://smtpd.github.io/qpsmtpd/
I'd reject spam at SMTP time, but also capture the bodies of all messages that were rejected so that users could view them in an online quarantine. Worked pretty well, though I think these days the original perl-based project has been reworked into a nodejs thing:
https://haraka.github.io/about/
-
SMTP server in your homelab?
I use qmail with qpsmtpd as a custom SMTP front end, I don't play with it now but I used to try different techniques and keep stats on what worked and what didn't (eg greylisting, blocklists, advertise AUTH LOGIN with a 250 header and ban anyone who actually tries to use it) and then I have my own custom forwarding and routing of dynamic usernames etc.
What are some alternatives?
maddy - ✉️ Composable all-in-one mail server.
swaks - Swaks - Swiss Army Knife for SMTP
go-simple-mail - Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.
smtp-translator - An SMTP server that converts emails into Pushover notifications.
popgun - POP3 server written in go
ImapSync - Imapsync is an IMAP transfers tool. The purpose of imapsync is to migrate IMAP accounts or to backup IMAP accounts. IMAP is one of the three current standard protocols to access mailboxes, the two others are POP3 and HTTP with webmails, webmails are often tied to an IMAP server. Upstream website is
go-mail - :incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)
ddclient - This is the new home for ddclient. Ddclient is a Perl client used to update dynamic DNS entries for accounts on 'Dynamic DNS Network Services' free DNS service. It currently supports a lot of different routers and a few different services.
go-imap - 📥 An IMAP library for clients and servers
MailHog - Web and API based SMTP testing
bdsmail - brain dead simple mail