- Reverted license back to MIT
- Expose
securestate in session
- Fixad a bug where
server.onConnect(err)did not close the connection
- Fixad a bug where
server.on('connect', data)had missingdata
- Changed license from MIT to EUPL-v1.1
- Rewrite to use ES6, this means at least Node.js v6.0.0 is required to use smtp-server
- Allowed rewriting
connectmethod
- Added new method
connectto pass already established sockets to the server
- Added new connection property
remotePort - Emit 'connect' event when all handshakes (including PROXY) have been completed
- Fix issue with invalidly resolved IPv4 addresses on IPv6 interface
- Ignore connection errors outside transaction
- Expose connection TLS cipher in the
tlsOptionsproperty
- Fixed remoteHostname resolving bug
- Added new option
disableReverseLookupto skip reverse resolving client hostname on connection
- Added new property for session:
session.transmissionTypethat identifies the current transmission (SMTP, ESMTP, ESMTPA etc.)
- Do not strip last linebreak
- this.server.options bug fix #58 (xpepermint)
- Added support for LMTP protocol. Set
lmtpoption totruein order to use it
- Added options
hidePIPELINING,hide8BITMIMEandhideSMTPUTF8
- Check that
connection._parserexists before trying to use it in the DATA handler
- Added new connection method
onClose - Preserve session object, do not re-create it for every transaction
- Added new server option
allowInsecureAuth
- Fixed a bug with XCLIENT ADDR validation
- Added support for XFORWARD command
- Expose XCLIENT and XFORWARD data for the session object (session.xClient, session.xForward - both are Map objects where uppercase argument name is the key, eg. session.xClient.get('ADDR') to see the IP address of XCLIENT)
- Fixed an issue with empty NAME for XCLIENT
- Added support for XCLIENT with
useXClientoption - Fixed an issue with an empty space after EHLO (67acb1534 by AtlasDev)
- Added dummy handlers for KILL, WIZ, SHELL
- Catch errors thrown by dns.reverse on invalid remoteAddress values
- Added onConnect handler to block unwanted connections (66784aea by jleal52)
- Fixed regression with node v0.12 where STARTTLS connections were kept hanging around after close
- Fixed an issue where STARTTLS threw an error
- Fixed an issue where using unknown auth schemes threw an error (a13f0bc8 by farmdog)
- Added support for PROXY protocol with
useProxyoption
- Added support for RFC1870 SIZE extension
- Added integration tests for CRAM-MD5 authentication
- Exposed SNI support with
sniOptionsoptional server option - Define used protocol for NPN as 'smtp'
- Added CRAM-MD5 authentication support
- Do not allow HTTP requests. If the client tries to send a command that looks like a HTTP request, then disconnect
- Close connection after 10 unrecognized commands
- Close connection after 10 unauthenticated commands
- Close all pending connections after
server.close()has been called. Default delay to wait is 30 sec. Can be changed withcloseTimeoutoption
- Fixed an issue with parsing MAIL FROM and RCPT TO commands, if there was a space before or after the first colon
- Added support for
hideSTARTTLSoption that hides STARTTLS while still allowing to use it (useful for integration test scenarios but not for production use) - Changed
loggeroption behavior - if the value isfalsethen no logging is used. If the value is missing, then output is logged to console - Fixed broken examples in the README