NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2141 most downloaded on npm
Easy as cake e-mail sending from your Node.js applications
Last release today
03 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
158 versions withdrawn
withdrawn after publishing
15 years old
323 releases · first in 2011
When redirecting URL calls then do not include original POST content
Fixed Smtp connection freezing, when trying to send after close / quit (twawszczak) [73d3911c]
One column per quarter.
Support socks module v2 in addition to v1 [e228bcb2]
Added new message transport option normalizeHeaderKey(key)=>normalizedKey for custom header formatting
normalizeHeaderKey(key)=>normalizedKey for custom header formattingAdded sponsors section to README
Better handling of unexpectedly dropping connections
Changed default behavior for attachment option contentTransferEncoding. If it is unset then base64 encoding is used for the attachment. If it is set t
Fixed a confict with Electron.js where timers do not have unref method
Added new mail object method mail.normalize(cb) that should make creating HTTP API based transports much easier
mail.normalize(cb) that should make creating HTTP API based transports much easierExpose streamed messages size and timers in info response
Allow generating preview links without calling createTestAccount first
No actual changes. Needed to push updated README to npmjs
Fixed JSONTransport attachment handling
Added new methods createTestAccount and getTestMessageUrl to use autogenerated email accounts from https://Ethereal.email
createTestAccount and getTestMessageUrl to use autogenerated email accounts from https://Ethereal.emailFixed issue with LMTP and STARTTLS
License changed from EUPLv1.1 to MIT
Fixed invalid List-\* header generation
Emit an error if STARTTLS ends with connection being closed
Expose last server response for smtpConnection
Fixed SES transport, added missing response value
response valueFixed DKIM calculation for empty body
Fixed missing transport.verify() methods for SES transport
transport.verify() methods for SES transportAdded missing error handlers for Sendmail, SES and Stream transports. If a messages contained an invalid URL as attachment then these transports threw
Fixed missing transport.on('idle') and transport.isIdle() methods for SES transports
transport.on('idle') and transport.isIdle() methods for SES transportsAdded built-in transport for AWS SES. Docs
Fixed a bug with OAuth2 login where error callback was fired twice if getToken was not available.
Fixed a bug where Nodemailer threw an exception if disableFileAccess option was used
disableFileAccess option was usedThis update brings a lot of breaking changes:
This update brings a lot of breaking changes:
And also some non-breaking changes:
See Nodemailer.com for full documentation
Nothing published for this version
Nothing published for this version
Bumped mailcomposer that generates encoded-words differently which might break some tests
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added new options disableFileAccess and disableUrlAccess
Nothing published for this version
Removed shrinkwrap file. Seemed to cause more trouble than help
- Fixed outdated shrinkwrap file
Bumped mailcomposer module to allow using false as attachment filename (suppresses filename usage)
false as attachment filename (suppresses filename usage)Nothing published for this version
Bumped smtp transport modules to get newest smtp-connection that fixes SMTPUTF8 support for internationalized email addresses
Bumped mailcomposer to have better support for message/822 attachments
Nothing published for this version
Fixed a bug with attachment filename that contains mixed unicode and dashes
proxy that takes a proxy configuration url as its valuetransport to dynamically load transport pluginsNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixed a bug in SMTP requireTLS option that was broken
Removed the need to use clone dependency
clone dependencyverify to check SMTP configurationlist for setting List-* headersgetSocket methodtextEncoding. If textEncoding is not set then detect best encoding automaticallyicalEvent to embed iCalendar events. Example hereraw to use prepared MIME contents instead of generating a new one. This might be useful when you want to handcraft some parts of the message yourself, for example if you want to inject a PGP encrypted message as the contents of a MIME noderaw to use an existing MIME message instead of generating a new oneNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →