Go SMTP server library
Go to file
kayos@tcp.direct 23f0d67abe
Remove broken example, refactor code, fix module path
2022-02-01 05:19:11 -08:00
.github/workflows Add go.yml (#8) 2020-05-23 10:26:20 +02:00
.gitignore Remove broken example, refactor code, fix module path 2022-02-01 05:19:11 -08:00
LICENSE Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
README.md Remove broken example, refactor code, fix module path 2022-02-01 05:19:11 -08:00
address.go Removed check for single '@' in address. 2018-06-29 14:32:02 -07:00
envelope.go Use new tls.CipherSuiteName() from Go 1.14 instead of own outdated map and add tls.VersionTLS13 to version list 2020-05-11 12:36:56 +00:00
example_test.go Remove broken example, refactor code, fix module path 2022-02-01 05:19:11 -08:00
go.mod Remove broken example, refactor code, fix module path 2022-02-01 05:19:11 -08:00
protocol.go Remove broken example, refactor code, fix module path 2022-02-01 05:19:11 -08:00
protocol_test.go Removing personal e-mail from comments and tests. 2018-09-26 21:22:28 +02:00
smtpd.go Implement graceful shutdown (#11) 2021-03-29 10:24:55 +02:00
smtpd_test.go Remove broken example, refactor code, fix module path 2022-02-01 05:19:11 -08:00
wrap.go Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
wrap_test.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.