Add default SMTP authentication type to NewClient #335
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a regression introduced in v0.5.0.
SMTPAuthNoAuth
is now changed from an empty string to "NOAUTH". This value is set as default for the Client inNewClient
. This way we always have a fixed assignment and an empty string would not skip authentication. Theauth()
method has been updated to either assign thesmtp.Auth
function ifSMTPAuthType
is not set to "NOAUTH" or skip the part there is already an auth function set (this would only happen whenSetSMTPAuthCustom
or"WithSMTPAuthCustom
were used.If
SMTPAuthType
is set to an empty string, the authentication assignment would fail as it is a not supported mechanism, therefore making sure that the client wouldn't accidentaly skip the authentication at all.A test has been added to test different auth switching scenarios (using supported, unsupported and custom auth functions). The documentation for
auth()
has been updated accordingly to make it more clear, what's happening.This should fix the regression described in #332 and #328 but should also address the "empty string" issue, we had before.