qpsmtpd
go-smtp
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.
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.
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
What are some alternatives?
swaks - Swaks - Swiss Army Knife for SMTP
maddy - ✉️ Composable all-in-one mail server.
smtp-translator - An SMTP server that converts emails into Pushover notifications.
go-simple-mail - Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.
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
popgun - POP3 server written in go
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-mail - :incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)
MailHog - Web and API based SMTP testing
go-imap - 📥 An IMAP library for clients and servers
bdsmail - brain dead simple mail