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
- fix(random): drop the unreachable '-' character from cr by @c-tonneslan in #560
- Fix failing tests due to textproto change in 1.26.4 by @wneessen in #566
- Add Nix development flake by @wneessen in #567
- churn(tests): Fix failing test due to textproto change by @wneessen in #568
- New template functions that allow usage of named templates (template.ExecuteTemplate) by @Maldiran in #556
- feat(client): Add WithoutRset option to skip RSET after delivery by @wneessen in #569
- Generalize multipart detection and CTE handling by @wneessen in #575
- Add NTLMv2 support by @wneessen in #576
- Add native DKIM support by @wneessen in #582
- Renovate and modernize the code by @wneessen in #583
- Churn/bump version and readme by @wneessen in #584
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
- @c-tonneslan made their first contribution in #560
- @Maldiran made their first contribution in #556
Full Changelog: v0.7.3...v0.8.0