IMail |
Task AuthenticateAsync( Encoding encoding, ICredentials credentials, CancellationToken cancellationToken = default )
Exception | Condition |
---|---|
ArgumentNullException | encoding is null. -or- credentials is null. |
ObjectDisposedException | The IMailService has been disposed. |
ServiceNotConnectedException | The IMailService is not connected. |
InvalidOperationException | The IMailService is already authenticated. |
OperationCanceledException | The operation was canceled via the cancellation token. |
AuthenticationException | Authentication using the supplied credentials has failed. |
SaslException | A SASL authentication error occurred. |
IOException | An I/O error occurred. |
ProtocolException | A protocol error occurred. |
Asynchronously authenticates using the supplied credentials.
If the server supports one or more SASL authentication mechanisms, then the SASL mechanisms that both the client and server support (not including any OAUTH mechanisms) are tried in order of greatest security to weakest security. Once a SASL authentication mechanism is found that both client and server support, the credentials are used to authenticate.
If the server does not support SASL or if no common SASL mechanisms can be found, then the default login command is used as a fallback.