Go SMTP server library
Go to file
Bernhard Froehlich 21709bf51f
Add list of cipher suites to show them in proper text and gracefully
handle if cipher suite or TLS version are not defined in our map.
2018-12-14 13:31:43 +00:00
examples/dkim-proxy Update import paths for move to GitHub 2017-08-20 18:05:24 +02:00
address.go Removed check for single '@' in address. 2018-06-29 14:32:02 -07:00
envelope.go Add list of cipher suites to show them in proper text and gracefully 2018-12-14 13:31:43 +00:00
example_test.go Add Go Report Card, fix a couple of golint warnings. 2017-08-24 11:41:02 +02:00
go.mod Adding support for go modules. 2018-09-26 21:16:44 +02:00
go.sum Adding support for go modules. 2018-09-26 21:16:44 +02:00
LICENSE Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
protocol_test.go Removing personal e-mail from comments and tests. 2018-09-26 21:22:28 +02:00
protocol.go Removing personal e-mail from comments and tests. 2018-09-26 21:22:28 +02:00
README.md Updated readme to reflect versioning scheme. 2018-09-26 21:24:54 +02:00
smtpd_test.go Removing personal e-mail from comments and tests. 2018-09-26 21:22:28 +02:00
smtpd.go Ensure that the TLS handshake has been done before using tls.ConnectionState() 2018-12-14 11:04:35 +00:00
wrap_test.go Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
wrap.go Fix several panics on invalid input 2016-02-12 01:26:50 +00:00

Go smtpd GoDoc Go Report Card

Package smtpd implements an SMTP server in golang.

Features

  • STARTTLS (using crypto/tls)
  • Authentication (PLAIN/LOGIN, only after STARTTLS)
  • XCLIENT and PROXY protocol (for running behind a proxy)
  • Connection, HELO, sender and recipient checks for rejecting e-mails using callbacks
  • Configurable limits for: connection count, message size and recipient count
  • Hands incoming e-mail off to a configured callback function

Version numbers

The package is tagged with semantic version numbers, making it suitable for use in a Go Module.

Feedback

If you end up using this package or have any feedback, I'd very much like to hear about it. You can reach me by email.