Skip to content

v0.8.0: Native NTLM and DKIM support

Latest

Choose a tag to compare

@wneessen wneessen released this 04 Jul 11:42
9e0db4c

Welcome to go-mail v0.8.0! 🎉

This release brings two big new features and a couple of improvements and fixes to go-mail. We hope you enjoy this release!

Important

This release adds a new dependency to go.mod. We now rely on the crypto package of the Go extended library. We already relied on golang.org/x/text before, but it's worth noting that if you have strict dependency requirements, that golang.org/x/crypto was added in this release.

Notable features/improvements/fixes

Native NTLM authentication support

With PR #576 native NTLMv2 SMTP auth support has been added to go-mail. This feature has been requested several times and so far we've always resorted to a custom SMTP authentication provider using some 3rd party libraries. With go-mail v0.8.0 you can now natively authenticate with NTLM servers like any of the other supported authentication methods. Big thanks to @mkalus for providing some ground work in #549 and for helping to test the code. The development was mainly based on the excellent documentation of the cURL project.

Note

Please note that I do not have access to an Exchange server to test the code in a real-life scenario. While I believe that the code is functional (I implemented extensive unit tests), please consider it as an experimental feature for the time being. Please report any issue you might run into.

Native DKIM support

PR #582 adds native DKIM signing support to go-mail. So far we only supported DKIM via go-mail middleware, which proved to very limited and had the caveat that it needs to be the last middleware to be executed, otherwise the signature would be invalid. With go-mail v0.8.0 you can now natively DKIM sign your mails. DKIM support has been added in the Msg as well as in the Client types. In the Msg type you can sign individual mail messages, while the DKIM support in the Client instructs the mail sender to sign every outgoing message that runs through it.

Named templates support

With PR #556 go-mail now has support for named templates. So far we've been executing a template as a whole, but with this new functions one is allowed to execute only a portion of the template. Thanks to @Maldiran for contributing this PR!

Option to skip RSET after mail delivery

PR #569 adds a new Client option: WithoutRset(). This instructs the client to skip the RSET we usually send after a successful mail delivery. This option can be useful for MTAs that do not support the RSET command and would fail because of that, even though the mail was successfully delivered.

What's Changed

CI/CD maintenance changes

  • Bump step-security/harden-runner from 2.19.1 to 2.19.2 by @dependabot[bot] in #550
  • Bump step-security/harden-runner from 2.19.2 to 2.19.3 by @dependabot[bot] in #553
  • Bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in #552
  • Bump codecov/codecov-action from 6.0.0 to 6.0.1 by @dependabot[bot] in #555
  • Bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #559
  • Bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot[bot] in #558
  • Bump step-security/harden-runner from 2.19.3 to 2.19.4 by @dependabot[bot] in #557
  • Bump vmactions/freebsd-vm from 1.4.5 to 1.4.6 by @dependabot[bot] in #561
  • Bump golang.org/x/text from 0.37.0 to 0.38.0 by @dependabot[bot] in #565
  • Bump codecov/codecov-action from 6.0.1 to 7.0.0 by @dependabot[bot] in #564
  • Bump github/codeql-action from 4.36.0 to 4.36.2 by @dependabot[bot] in #563
  • Bump vmactions/freebsd-vm from 1.4.6 to 1.4.7 by @dependabot[bot] in #570
  • Bump vmactions/freebsd-vm from 1.4.7 to 1.4.8 by @dependabot[bot] in #571
  • Bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot[bot] in #572
  • Bump vmactions/freebsd-vm from 1.4.8 to 1.5.0 by @dependabot[bot] in #573
  • Bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot[bot] in #574
  • Bump github/codeql-action/init from 4.36.2 to 4.36.3 by @dependabot[bot] in #581
  • Bump github/codeql-action/upload-sarif from 4.36.2 to 4.36.3 by @dependabot[bot] in #579
  • Bump github/codeql-action/autobuild from 4.36.2 to 4.36.3 by @dependabot[bot] in #578
  • Bump github/codeql-action/analyze from 4.36.2 to 4.36.3 by @dependabot[bot] in #580

New Contributors

Full Changelog: v0.7.3...v0.8.0