【问题标题】:Validate SMTP connection without sending mail验证 SMTP 连接而不发送邮件
【发布时间】:2018-07-24 15:05:28
【问题描述】:

通过发送邮件验证 SMTP 连接,如下所示。

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

但我们需要在不发送邮件的情况下验证 SMTP 凭据(主机、端口、用户名、密码)。

有什么方法可以通过编程实现这一点吗?

【问题讨论】:

标签: c# smtp smtp-auth


【解决方案1】:

您可以捕获由以下原因触发的SmtpException

  1. 与 SMTP 服务器的连接失败。
  2. 身份验证失败。
  3. EnableSsl 设置为 true,但 DeliveryMethod 属性设置为
  4. SpecifiedPickupDirectory 或 PickupDirectoryFromIis。 EnableSsl 已设置 为 true,但 SMTP 邮件服务器未在 响应 EHLO 命令。

或者您可以编写一个单独的验证类,如 link 中所述

【讨论】:

    猜你喜欢
    • 2016-09-03
    • 2017-11-08
    • 2017-05-26
    • 2021-10-02
    • 1970-01-01
    • 2011-03-04
    • 2017-09-07
    • 2013-03-11
    • 1970-01-01
    相关资源
    最近更新 更多