fork of github.com/chrj/smtpd
Find a file
2023-06-16 17:44:39 +00:00
.github/workflows Cleanup actions. (#15) 2022-09-30 12:51:37 -04:00
_examples/dkim-proxy chore: add leading underscore to examples directory (#13) 2021-11-22 00:56:59 +01:00
.gitignore lint, gitignore, GNU Makefile to make things simpler 2023-06-13 23:55:03 +03:00
address.go Removed check for single '@' in address. 2018-06-29 14:32:02 -07:00
envelope.go envelope.AddHeader function + unit tests for it 2023-06-14 10:53:37 +03:00
example_test.go feat: peer has metadata added + tests 2023-06-14 00:48:49 +03:00
go.mod lint, gitignore, GNU Makefile to make things simpler 2023-06-13 23:55:03 +03:00
LICENSE Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
Makefile lint, gitignore, GNU Makefile to make things simpler 2023-06-13 23:55:03 +03:00
protocol.go proxy command - logging and unit tests 2023-06-16 13:33:19 +03:00
protocol_test.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.go add mutex to guard session's peer's metadata changing 2023-06-14 10:37:39 +03:00
smtpd_test.go proxy command - logging and unit tests 2023-06-16 13:33:19 +03: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.