fork of github.com/chrj/smtpd
Find a file
Bernhard Fröhlich 32be721d71
Verify that user is properly authenticated before sending mail if AUTH is required (#6)
* Verify that user is properly authenticated before sending mail if AUTH is required

* Add testcase to verify that user is properly authenticated before sending mail if authenticator is setup

* Fix TestErrors() to not misuse auth bypass
2020-06-07 18:48:25 +02:00
.github/workflows Add go.yml (#8) 2020-05-23 10:26:20 +02: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 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 Add Go Report Card, fix a couple of golint warnings. 2017-08-24 11:41:02 +02:00
go.mod 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
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.go Verify that user is properly authenticated before sending mail if AUTH is required (#6) 2020-06-07 18:48:25 +02: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 Ensure that the TLS handshake has been done before using tls.ConnectionState() 2018-12-14 11:04:35 +00:00
smtpd_test.go Verify that user is properly authenticated before sending mail if AUTH is required (#6) 2020-06-07 18:48:25 +02: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.