- Changed license from MIT to EUPL-v1.1
- Removed NTLM support
- In general this module is now just a wrapper around the SMTPConnection class in Nodemailer
- use setKeepAlive(true) on newly created sockets
- Fixed non-structured logging
- Use ES6 syntax
- Updated logging to support structured output for real Bunyan logger instances
- Fixed invalid SIZE detection
- Updated dependencies
- Added new envelope option
size
to skip sending messages that are too large
- Added new option
opportunisticTLS
to allow continuing if STARTTLS failed
- Added
reset(cb)
method to callRSET
command - Include failed recipients in the response error object
- Added full LMTP support. Set
lmtp
option totrue
to switch into LMTP mode - Updated default timeout values
- Use PIPELINING for multiple RCPT TO if available
- Added support for DSN
- Added new option use8BitMime to indicate that the message might include non-ascii bytes
- Added new info property rejectedErrors that includes errors for failed recipients
- Updated errors to indicate where the error happened (SMTP command, API, CONN)
- Bumped dependencies
- Added experimental support for NTLM authentication
- Declare SMTPUTF8 usage if an address includes Unicode characters and the server indicates support for it. Fixes an issue with internationalized email addresses that were rejected by Gmail
- Fix broken requireTLS option
- Do not modify provided options object
- Added yet another socket.resume to fixed an issue with proxied sockets and TLS
- Fixed an issue with proxied sockets and TLS
- Catch errors that happen while creating a socket
- Fixed error code for STARTTLS errors
- Bumped nodemailer-shared
- Make sure socket is resumed once 'data' handler is set
- Added new option
secured
to indicate if socket provided byconnection
is already upgraded or not
- Added new option
connection
to provide an already connected plaintext socket. Useful when behind proxy.
- Bumped nodemailer-shared
- Locked dependency version
- Fixed a bug where errors might been thrown before a handler was set
- Use shared function to create the logger instance
- Updated logging. Log information about transmitted message size in bytes
- Re-added
debug
option. If set to true, then logs SMTP traffic, otherwise only transaction events - Pass streamed message content to the logger
- Replaced jshint with eslint
- Handle message stream errors
- Use bunyan compatible logger interface instead of emitting 'log' events
- Do not use strict isEmail function, just check that there are no newlines in addresses. Fixes a regression with lax e-mail addresses.
- Fixed an issue with Node v0.10 where too many events were cleared
- Updated isemail configuration to only allow SMTP compatible e-mail addresses for the envelope (otherwise valid addresses might include symbols that don't play well with SMTP, eg. line folding inside quoted strings)
- Validate to and from address to be valid e-mail addresses
- Added missing 'close' and 'end' event handlers for a STARTTLS-upgraded socket
- Added partial support for LMTP protocol. Works only with single recipient (does not support multiple responses for DATA command)
- Connection object has a new property
secure
that indicates if the current connection is using a secure TLS socket or not - Fixed
requireTLS
where the connection was established insecurely if STARTTLS failed, now it returns an error as it should if STARTTLS fails
- Added additional constructor option
requireTLS
to ensure that the connection is upgraded before any credentials are passed to the server - Added additional constructor option
socket
to use an existing socket instead of creating new one (bantu)
- Removed CleartextStream.pair.encrypted error handler. Does not seem to be supported by Node v0.11
- Added 'error' handler for CleartextStream.pair.encrypted object when connecting to TLS.
- Changed version scheme from 0.x to 1.x.
- Improved error handling for timeout on creating a connection. Caused issues with
once('error')
handler as an error might have been emitted twice