Commit Graph

57 Commits

Author SHA1 Message Date
Bernhard Froehlich
e7d1686eae
Fix client IP in Received line for IPv6 IP addresses 2018-12-14 11:08:42 +00:00
Bernhard Froehlich
9fccea2351
Ensure that the TLS handshake has been done before using tls.ConnectionState()
otherwise handshake is performed on first read/write and peer.TLS is invalid.
2018-12-14 11:04:35 +00:00
Christian Joergensen
0857b2e4ed Updated readme to reflect versioning scheme. 2018-09-26 21:24:54 +02:00
Christian Joergensen
f70a0c8d52 Removing personal e-mail from comments and tests. 2018-09-26 21:22:28 +02:00
Christian Joergensen
8ff45117c6 Adding support for go modules. 2018-09-26 21:16:44 +02:00
Christian Joergensen
99fb19190d
Merge pull request #3 from matjam/master
Handle address validation better.
2018-09-26 21:14:46 +02:00
Christian Joergensen
6441050e00 Added extra and cleaned old test cases for pull request #3. 2018-09-26 21:10:58 +02:00
Nathan Ollerenshaw
eb300d92cc Allow the '<>' null sender. 2018-06-29 14:41:59 -07:00
Nathan Ollerenshaw
c009354c02 Removed check for single '@' in address. 2018-06-29 14:32:02 -07:00
Nathan Ollerenshaw
752519b0c8 Modified address parsing to use the net/mail ParseAddress function. 2018-06-29 14:13:01 -07:00
Christian Joergensen
722e9f7848 Also set Peer.TLS connection state on raw TLS connections.
Fix double underscore typo.
2017-10-10 10:10:59 +02:00
Christian Joergensen
52e449011b Support TLS listeners (fixes issue #2). 2017-10-09 20:05:15 +02:00
Christian Joergensen
b2cb7a02c3 Removed old hgignore file. 2017-08-24 11:45:08 +02:00
Christian Joergensen
3ad0b67af6 Add Go Report Card, fix a couple of golint warnings. 2017-08-24 11:41:02 +02:00
Christian Joergensen
470c2fc1cb Updated readme. 2017-08-22 23:58:03 +02:00
Christian Joergensen
7c67aa254c Merge pull request #1 from cgt/importpaths
Update import paths for move to GitHub
2017-08-20 21:32:57 +02:00
Christoffer G. Thomsen
2987b286a4 Update import paths for move to GitHub 2017-08-20 18:05:24 +02:00
Christian Joergensen
68adb5dd88 Change readme to github links. 2017-08-17 20:23:29 +02:00
Christian Joergensen
b564e87572 Improve the command parser to try to parse malformed commands.
Timon Relitzki reported that some systems, for example the Synology
DSM Rackstations, will send an extra space character with their SMTP
commands.

MAIL FROM:<christian@technobabble.dk>

Becomes:

MAIL FROM: <christian@technobabble.dk>

This confused the command parser. In the spirit of the robustness
principle if have choosen to improve the command parse to also handle
these extra spaces.

The command parser has also been extended with some extra unit tests,
to demonstrate the problem.
2017-05-23 21:42:13 +02:00
Christian Joergensen
3cbf67409f Merge. 2017-05-22 19:54:10 +02:00
Christian Joergensen
843d673448 Proxy protocol support, go vet. 2017-05-22 19:45:42 +02:00
Marcel Voigt
f4b9300d6a Add ProtocolLogger to Server
- If set, logs received and sent SMTP messages
2016-05-01 15:37:06 +02:00
Craig
12d460e481 fix error messages 2016-02-12 01:35:10 +00:00
Craig
66f94a07ae Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
Christian Joergensen
24e6eeee9d Add synopsis for dkim-proxy. 2014-07-27 14:35:08 +02:00
Christian Joergensen
bca0c8ba29 Example DKIM proxy using the smtpd package. 2014-07-27 13:47:32 +02:00
Christian Joergensen
6ea6ce2c75 go fmt 2014-07-27 13:47:14 +02:00
Christian Joergensen
16f0241d5e Refactored ssl test setup. 2014-07-27 09:37:42 +02:00
Christian Joergensen
c0d4dc204d Tests refactoring, readme updated. 2014-07-26 18:29:14 +02:00
Christian Joergensen
437121004c Fix panic on blank line. 2014-07-22 08:49:12 +02:00
Christian Joergensen
753dd09501 More test cases. 2014-07-21 13:27:05 +02:00
Christian Joergensen
1d5d658be6 Added new Server field Hostname for the FQDN over the server (and updated various uses of the hostname). Moved Server.Addr to a parameter for ListenAndServe, as it was only used there. 2014-07-21 12:43:42 +02:00
Christian Joergensen
d28767953f Added TLS param to Peer. Added option to prepend Received header to envelope data. 2014-07-21 00:06:56 +02:00
Christian Joergensen
c6fe39d4dc Update synopsis. 2014-07-20 21:53:47 +02:00
Christian Joergensen
9695f7c734 XCLIENT support. 2014-07-20 21:51:39 +02:00
Christian Joergensen
0fa1acf706 Handle too long lines. Make envelope reset into a session method. 2014-07-19 20:55:40 +02:00
Christian Joergensen
97b38af3b4 Send the HELO hostname to the HeloChecker. 2014-07-18 08:46:39 +02:00
Christian Joergensen
46b3a7668e Reset envelope on duplicate HELO/EHLO and after DATA. 2014-07-17 16:49:58 +02:00
Christian Joergensen
a0c514f12d Different fixes.
Handle empty e-mail addresses.
Implemented MaxRecipients check.
Announce PIPELINING support.
Corrected error code on Too Busy error.
Implemented DataTimeout for timeouts on DATA.
Use textproto.DotReader in handleDATA to implement dot-stuffing.
Reset deadlines on old socket in STARTTLS, add new deadlines to new TLS socket.
2014-07-17 16:00:44 +02:00
Christian Joergensen
3b49f5e70d Add Authenticator test in AUTH handler. 2014-07-15 20:14:29 +02:00
Christian Joergensen
3bd281bb3c Use separate package for tests and example. 2014-07-15 13:38:50 +02:00
Christian Joergensen
ca017c1955 Typo, README. 2014-07-15 13:22:18 +02:00
Christian Joergensen
f32411bd90 Extra test cases. 2014-07-15 13:07:47 +02:00
Christian Joergensen
98573fb190 Cleanup, added license. 2014-07-15 12:37:25 +02:00
Christian Joergensen
b2f59a653e Fixes. 2014-07-15 11:16:34 +02:00
Christian Joergensen
cda2908ec8 newSession cannot fail. 2014-07-15 10:11:37 +02:00
Christian Joergensen
333ada9388 go fmt. 2014-07-15 10:09:34 +02:00
Christian Joergensen
64d201aecb Implemented MaxConnections, corrected examples, removed MailAddress. 2014-07-15 10:07:58 +02:00
Christian Joergensen
587b6ad4ac Examples. 2014-07-14 20:44:14 +02:00
Christian Joergensen
b78de3a03e Extra tests. 2014-07-14 20:06:32 +02:00