npm nodemailer 10.3.0
v10.3.0

3 hours ago

10.3.0 (2026-10-29)

Summary

This release adds support for the OTP-Token header from the IETF draft draft-goto-otp-token, which lets mail clients and browsers offer a one-time passcode for autofill on the site it belongs to. It also fixes how a Content-ID header is encoded.

Who should upgrade

  • Anyone sending one-time passcodes by email who wants them to be machine-readable.
  • Anyone already setting an OTP-Token header through headers: before this release it went out MIME encoded and could not be parsed.
  • Anyone embedding images with a cid that holds a non-ASCII character or a quote.

Highlights

  • New otp message option: otp: { code: '123456', origin: 'https://example.com' } adds OTP-Token: "123456"; origin="https://example.com". The origin is reduced to its canonical form, only https (or http on a loopback host) is accepted, and invalid values fail the send with the new EOTP error code. See Message configuration.
  • A custom OTP-Token header is no longer MIME word encoded. Line breaks and control characters are still removed.
  • OTP-Token is included in the DKIM signature by default.
  • A Content-ID header, from an attachment cid or set through headers, is now encoded as a message id rather than as text, so a cid with a non-ASCII character or a quote keeps matching the cid: URL in the HTML.
  • Groundmail added to the well-known services.

Features

  • add the otp option for the OTP-Token header (7789e15)

Bug Fixes

  • encode a Content-ID header as a message id (#1904) (47f2b25)

Don't miss a new nodemailer release

NewReleases is sending notifications on new releases.