chore(deps): update module github.com/wneessen/go-mail to v0.8.1 #20

Open
bot_renovate wants to merge 1 commit from renovate/github.com-wneessen-go-mail-0.x into develop
Collaborator

This PR contains the following updates:

Package Type Update Change
github.com/wneessen/go-mail require minor v0.7.3v0.8.1

Release Notes

wneessen/go-mail (github.com/wneessen/go-mail)

v0.8.1

Compare Source

Welcome to go-mail v0.8.1! 🎉

This release is only a small release, but fixes a regression on the 386 platform. We hope you enjoy!

Notable features / improvements / fixes

Fix regression on 386 platforms

The NTLM support introduced in v0.8.0 contained a bug affecting 386 platforms: a 32-bit integer could overflow because it wasn't cast to int64. This caused problems when cross-compiling to the 386 architecture. The bug is fixed in #​589. In addition, the CI pipeline has been extended to run cross-compile tests for every platform supported by GitHub runners. Thanks to @​firefart for reporting the issue.

Opportunistic SMTP authentication

PR #​585 introduces an opportunistic authentication mechanism that lets users provide a list of preferred auth types. During SMTP authentication, the client checks the mechanisms the server supports and selects the first match from the preferred list. If the server supports none of the preferred mechanisms, the client falls back to Autodiscover mode and selects the strongest mechanism the server offers.

Convenience helpers for List-Unsubscribe and one-click List-Unsubscribe-Post

We already expose the HeaderListUnsubscribe and HeaderListUnsubscribePost header constants, but until now there was no dedicated function to construct these headers. Users had to assemble the angle-bracket URI list and the exact List-Unsubscribe=One-Click token by hand via SetGenHeader—something that's easy to get subtly wrong (missing <>, an incorrect POST token, or GET-triggerable URLs). Since February 2024, Gmail and Yahoo require a working RFC 8058 one-click unsubscribe for senders exceeding 5k messages per day, making this a common compliance requirement rather than a niche feature. PR #​587 adds three convenience helpers to set these headers correctly:

  • SetListUnsubscribe(uris ...string): sets an RFC 2369 List-Unsubscribe header only (mailto/https links).
  • SetListUnsubscribePost(): sets List-Unsubscribe-Post: List-Unsubscribe=One-Click.
  • SetListUnsubscribeOneClick(httpsURL string, additionalURIs ...string): the common case: sets both headers correctly, validating that at least one HTTPS URL is present as required by RFC 8058.

What's Changed

CI/CD maintenance changes

Full Changelog: https://github.com/wneessen/go-mail/compare/v0.8.0...v0.8.1

v0.8.0: : Native NTLM and DKIM support

Compare Source

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

New Contributors

Full Changelog: https://github.com/wneessen/go-mail/compare/v0.7.3...v0.8.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/wneessen/go-mail](https://github.com/wneessen/go-mail) | require | minor | `v0.7.3` → `v0.8.1` | --- ### Release Notes <details> <summary>wneessen/go-mail (github.com/wneessen/go-mail)</summary> ### [`v0.8.1`](https://github.com/wneessen/go-mail/releases/tag/v0.8.1) [Compare Source](https://github.com/wneessen/go-mail/compare/v0.8.0...v0.8.1) Welcome to go-mail v0.8.1! 🎉 This release is only a small release, but fixes a regression on the 386 platform. We hope you enjoy! #### Notable features / improvements / fixes ##### Fix regression on 386 platforms The NTLM support introduced in v0.8.0 contained a bug affecting 386 platforms: a 32-bit integer could overflow because it wasn't cast to `int64`. This caused problems when cross-compiling to the 386 architecture. The bug is fixed in [#&#8203;589](https://github.com/wneessen/go-mail/issues/589). In addition, the CI pipeline has been extended to run cross-compile tests for every platform supported by GitHub runners. Thanks to [@&#8203;firefart](https://github.com/firefart) for reporting the issue. ##### Opportunistic SMTP authentication PR [#&#8203;585](https://github.com/wneessen/go-mail/issues/585) introduces an opportunistic authentication mechanism that lets users provide a list of preferred auth types. During SMTP authentication, the client checks the mechanisms the server supports and selects the first match from the preferred list. If the server supports none of the preferred mechanisms, the client falls back to Autodiscover mode and selects the strongest mechanism the server offers. ##### Convenience helpers for List-Unsubscribe and one-click List-Unsubscribe-Post We already expose the `HeaderListUnsubscribe` and `HeaderListUnsubscribePost` header constants, but until now there was no dedicated function to construct these headers. Users had to assemble the angle-bracket URI list and the exact `List-Unsubscribe=One-Click` token by hand via `SetGenHeader`—something that's easy to get subtly wrong (missing `<>`, an incorrect POST token, or GET-triggerable URLs). Since February 2024, Gmail and Yahoo require a working RFC 8058 one-click unsubscribe for senders exceeding 5k messages per day, making this a common compliance requirement rather than a niche feature. PR [#&#8203;587](https://github.com/wneessen/go-mail/issues/587) adds three convenience helpers to set these headers correctly: - `SetListUnsubscribe(uris ...string)`: sets an RFC 2369 `List-Unsubscribe` header only (`mailto`/`https` links). - `SetListUnsubscribePost()`: sets `List-Unsubscribe-Post: List-Unsubscribe=One-Click`. - `SetListUnsubscribeOneClick(httpsURL string, additionalURIs ...string)`: the common case: sets both headers correctly, validating that at least one HTTPS URL is present as required by RFC 8058. #### What's Changed - Implement opportunistic auth mechanism by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;585](https://github.com/wneessen/go-mail/pull/585) - Add RFC 8058 one-click unsubscribe support by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;587](https://github.com/wneessen/go-mail/pull/587) - Fix toUint32 range check and add 64bit tests by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;589](https://github.com/wneessen/go-mail/pull/589) - Add cross-compile test to CI by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;598](https://github.com/wneessen/go-mail/pull/598) #### CI/CD maintenance changes - Bump golang.org/x/text from 0.38.0 to 0.39.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;590](https://github.com/wneessen/go-mail/pull/590) - Bump step-security/harden-runner from 2.19.4 to 2.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;591](https://github.com/wneessen/go-mail/pull/591) - Bump github/codeql-action/autobuild from 4.36.3 to 4.37.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;595](https://github.com/wneessen/go-mail/pull/595) - Bump github/codeql-action/upload-sarif from 4.36.3 to 4.37.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;594](https://github.com/wneessen/go-mail/pull/594) - Bump github/codeql-action/analyze from 4.36.3 to 4.37.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;593](https://github.com/wneessen/go-mail/pull/593) - Bump github/codeql-action/init from 4.36.3 to 4.37.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;592](https://github.com/wneessen/go-mail/pull/592) - Bump golang.org/x/crypto from 0.53.0 to 0.54.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;597](https://github.com/wneessen/go-mail/pull/597) **Full Changelog**: <https://github.com/wneessen/go-mail/compare/v0.8.0...v0.8.1> ### [`v0.8.0`](https://github.com/wneessen/go-mail/releases/tag/v0.8.0): : Native NTLM and DKIM support [Compare Source](https://github.com/wneessen/go-mail/compare/v0.7.3...v0.8.0) 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 [#&#8203;576](https://github.com/wneessen/go-mail/issues/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 [@&#8203;mkalus](https://github.com/mkalus) for providing some ground work in [#&#8203;549](https://github.com/wneessen/go-mail/issues/549) and for helping to test the code. The development was mainly based on the [excellent documentation of the cURL project](https://curl.se/rfc/ntlm.html#ntlmSmtpAuthentication). > \[!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 [#&#8203;582](https://github.com/wneessen/go-mail/issues/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 [#&#8203;556](https://github.com/wneessen/go-mail/issues/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 [@&#8203;Maldiran](https://github.com/Maldiran) for contributing this PR! ##### Option to skip RSET after mail delivery PR [#&#8203;569](https://github.com/wneessen/go-mail/issues/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 [@&#8203;c-tonneslan](https://github.com/c-tonneslan) in [#&#8203;560](https://github.com/wneessen/go-mail/pull/560) - Fix failing tests due to textproto change in 1.26.4 by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;566](https://github.com/wneessen/go-mail/pull/566) - Add Nix development flake by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;567](https://github.com/wneessen/go-mail/pull/567) - churn(tests): Fix failing test due to textproto change by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;568](https://github.com/wneessen/go-mail/pull/568) - New template functions that allow usage of named templates (template.ExecuteTemplate) by [@&#8203;Maldiran](https://github.com/Maldiran) in [#&#8203;556](https://github.com/wneessen/go-mail/pull/556) - feat(client): Add WithoutRset option to skip RSET after delivery by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;569](https://github.com/wneessen/go-mail/pull/569) - Generalize multipart detection and CTE handling by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;575](https://github.com/wneessen/go-mail/pull/575) - Add NTLMv2 support by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;576](https://github.com/wneessen/go-mail/pull/576) - Add native DKIM support by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;582](https://github.com/wneessen/go-mail/pull/582) - Renovate and modernize the code by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;583](https://github.com/wneessen/go-mail/pull/583) - Churn/bump version and readme by [@&#8203;wneessen](https://github.com/wneessen) in [#&#8203;584](https://github.com/wneessen/go-mail/pull/584) #### CI/CD maintenance changes - Bump step-security/harden-runner from 2.19.1 to 2.19.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;550](https://github.com/wneessen/go-mail/pull/550) - Bump step-security/harden-runner from 2.19.2 to 2.19.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;553](https://github.com/wneessen/go-mail/pull/553) - Bump github/codeql-action from 4.35.4 to 4.35.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;552](https://github.com/wneessen/go-mail/pull/552) - Bump codecov/codecov-action from 6.0.0 to 6.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;555](https://github.com/wneessen/go-mail/pull/555) - Bump github/codeql-action from 4.35.5 to 4.36.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;559](https://github.com/wneessen/go-mail/pull/559) - Bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;558](https://github.com/wneessen/go-mail/pull/558) - Bump step-security/harden-runner from 2.19.3 to 2.19.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;557](https://github.com/wneessen/go-mail/pull/557) - Bump vmactions/freebsd-vm from 1.4.5 to 1.4.6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;561](https://github.com/wneessen/go-mail/pull/561) - Bump golang.org/x/text from 0.37.0 to 0.38.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;565](https://github.com/wneessen/go-mail/pull/565) - Bump codecov/codecov-action from 6.0.1 to 7.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;564](https://github.com/wneessen/go-mail/pull/564) - Bump github/codeql-action from 4.36.0 to 4.36.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;563](https://github.com/wneessen/go-mail/pull/563) - Bump vmactions/freebsd-vm from 1.4.6 to 1.4.7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;570](https://github.com/wneessen/go-mail/pull/570) - Bump vmactions/freebsd-vm from 1.4.7 to 1.4.8 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;571](https://github.com/wneessen/go-mail/pull/571) - Bump actions/setup-go from 6.4.0 to 6.5.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;572](https://github.com/wneessen/go-mail/pull/572) - Bump vmactions/freebsd-vm from 1.4.8 to 1.5.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;573](https://github.com/wneessen/go-mail/pull/573) - Bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;574](https://github.com/wneessen/go-mail/pull/574) - Bump github/codeql-action/init from 4.36.2 to 4.36.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;581](https://github.com/wneessen/go-mail/pull/581) - Bump github/codeql-action/upload-sarif from 4.36.2 to 4.36.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;579](https://github.com/wneessen/go-mail/pull/579) - Bump github/codeql-action/autobuild from 4.36.2 to 4.36.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;578](https://github.com/wneessen/go-mail/pull/578) - Bump github/codeql-action/analyze from 4.36.2 to 4.36.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;580](https://github.com/wneessen/go-mail/pull/580) #### New Contributors - [@&#8203;c-tonneslan](https://github.com/c-tonneslan) made their first contribution in [#&#8203;560](https://github.com/wneessen/go-mail/pull/560) - [@&#8203;Maldiran](https://github.com/Maldiran) made their first contribution in [#&#8203;556](https://github.com/wneessen/go-mail/pull/556) **Full Changelog**: <https://github.com/wneessen/go-mail/compare/v0.7.3...v0.8.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNyIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS43IiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119-->
chore(deps): update module github.com/wneessen/go-mail to v0.8.0
All checks were successful
Build and Release / Build and Release (pull_request) Successful in 1m42s
39f92ee676
Author
Collaborator

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 3 additional dependencies were updated

Details:

Package Change
golang.org/x/crypto v0.33.0 -> v0.54.0
golang.org/x/sys v0.30.0 -> v0.47.0
golang.org/x/text v0.37.0 -> v0.40.0
### ℹ️ Artifact update notice ##### File name: go.mod In order to perform the update(s) described in the table above, Renovate ran the `go get` command, which resulted in the following additional change(s): - 3 additional dependencies were updated Details: | **Package** | **Change** | | :-------------------- | :--------------------- | | `golang.org/x/crypto` | `v0.33.0` -> `v0.54.0` | | `golang.org/x/sys` | `v0.30.0` -> `v0.47.0` | | `golang.org/x/text` | `v0.37.0` -> `v0.40.0` |
bot_renovate force-pushed renovate/github.com-wneessen-go-mail-0.x from 39f92ee676
All checks were successful
Build and Release / Build and Release (pull_request) Successful in 1m42s
to 9812eb2c48
All checks were successful
Build and Release / Build and Release (pull_request) Successful in 1m21s
2026-07-09 16:36:57 +00:00
Compare
bot_renovate changed title from chore(deps): update module github.com/wneessen/go-mail to v0.8.0 to chore(deps): update module github.com/wneessen/go-mail to v0.8.1 2026-07-09 16:36:57 +00:00
All checks were successful
Build and Release / Build and Release (pull_request) Successful in 1m21s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/github.com-wneessen-go-mail-0.x:renovate/github.com-wneessen-go-mail-0.x
git switch renovate/github.com-wneessen-go-mail-0.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch develop
git merge --no-ff renovate/github.com-wneessen-go-mail-0.x
git switch renovate/github.com-wneessen-go-mail-0.x
git rebase develop
git switch develop
git merge --ff-only renovate/github.com-wneessen-go-mail-0.x
git switch renovate/github.com-wneessen-go-mail-0.x
git rebase develop
git switch develop
git merge --no-ff renovate/github.com-wneessen-go-mail-0.x
git switch develop
git merge --squash renovate/github.com-wneessen-go-mail-0.x
git switch develop
git merge --ff-only renovate/github.com-wneessen-go-mail-0.x
git switch develop
git merge renovate/github.com-wneessen-go-mail-0.x
git push origin develop
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
martinr92/notify!20
No description provided.