如何在发送邮件之前验证smtp凭据?

Man*_*pta 7 .net smtpclient

我需要SmtpClient在发送邮件之前验证实例中设置的用户名和密码.使用此代码:

SmtpClient client = new SmtpClient(host);
client.Credentials = new NetworkCredential(username,password);
client.UseDefaultCredentials = false;

// Here I need to verify the credentials(i.e. username and password)
client.Send(mail);
Run Code Online (Sandbox Code Playgroud)

如何验证凭据标识的用户是否可以连接并发送邮件?

小智 4

不可能。

SmtpClient 基本上无法在不联系其连接的服务器的情况下验证用户名密码。

您可以做的是在 SmtpClient 之外通过打开到服务器的 TCP 连接来完成此操作...但是身份验证可能会很复杂,具体取决于服务器的配置方式。

请问为什么您在发送之前需要知道这一点?恕我直言,正常行为是将发送包装在适当的错误处理中以捕获此处的异常。