Sinksmtp is a 'sink' SMTP server, one that does nothing more than record incoming email.
Go
Latest commit 5503a99 Mar 23, 2016 @siebenmann README: mention alternate packages/programs
Some people are using sinksmtp for real things, like collecting test
email. There are other (Go) packages that do this with more fancy
features, so I've added a mention of the two that I know about.
Failed to load latest commit information.
.gitignore sinksmtp: give repo a README and a standard .gitignore Oct 5, 2015
README README: mention alternate packages/programs Mar 23, 2016
conncfg.go sinksmtp: support multiple TLS certificates at once Aug 19, 2014
doc.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
mxresolve.go mxresolve.go: correct a comment Mar 23, 2016
mxresolve_test.go sinksmtp: hackily log more detailed information about MX lookup failures Sep 22, 2014
rdns.go sinksmtp: comment et al tuneups; ran everything through golint Jun 16, 2014
rlex.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
rlex_test.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
rnodes.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
rparse.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
rparse_test.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
rules.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
rules_test.go sinksmtp: improve handling of 'EHLO .', including not panicing sometimes Nov 23, 2015
sinksmtp.go sinksmtp.go: count RSETs against do-nothing client settings if applic… Apr 22, 2015
sinksmtp_test.go sinksmtp: more and better comments on tests Jul 2, 2014
tlsnames.go sinksmtp/tlsnames.go: add a name for the 0 cipher Jun 11, 2014

README

Sinksmtp is a 'sink' SMTP server, one that talks SMTP and potentially
captures incoming email, but doesn't do anything with any email it
captures except log it to disk.  The author uses it to capture incoming
spam to what are now spamtrap addresses.

Sinksmtp supports TLS if configured, among other things.

Sinksmtp supports a number of ways to filter and select what incoming
SMTP transactions can get as far as submitting messages and which ones
are refused earlier. The author uses this to filter out uninteresting
spam and spam sources in his spamtrap server.

See doc.go / godoc for the detailed documentation.

Sinksmtp uses my smtpd Go package[*] to handle the low level details
of SMTP serving. It was previously part of the source repo for that
package, as a usage example, but it has considerably outgrown being a
simple usage example and has now moved into a separate repo.

There are some fancier packages that may be better alternatives to
sinksmtp for things like accepting email for testing or as a logging
mechanism for systems that don't have anything else.  The ones that I
know of are:
	https://github.com/mailhog/MailHog
	http://mailslurper.com/

A feature for both of these is a web interface that let you see and
browse the received email messages. Sinksmtp just dumps any email into
the filesystem, where it's up to you to monitor it and pull it out.

Chris Siebenmann

https://github.com/siebenmann/sinksmtp

Copyright: GPL v3

[*: https://github.com/siebenmann/smtpd ]