我如何排序“ping”SMTP服务器,以便检查帐户/密码是否有效?

我正在尝试构建一个小的WPF电子邮件发件人教程,但如果它有这个明显的错误我不想分享它。

目前,这就是发生的事情。

  1. 用户输入用户名和密码。
  2. 标签’loginstatus’更改为“已登录”,无论它是否是粗略的。
  3. 消息正文和发送到字段已启用。
  4. 用户按下“发送”按钮,如果有exception(例如,用户名/密码错误),则消息框会显示该消息,并且loginstatus会更改回注销状态。

这是非常错误的,我想解决它。

我怎样才能“ping”以查看凭证是否正确(不发送测试电子邮件)。

我正在使用smtp.gmail.com端口587

编辑这是我发送电子邮件的方式。

var client = new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential(username, password), EnableSsl = true }; try { client.Send(fromEmail, toEmail, subject, body); } catch (Exception e) { MessageBox.Show(e.Message); } 

您无法使用System.Net.Mail执行此操作。 您必须自己动手或使用第三方产品(无耻的插头:像我的一样 – http://www.aspnetmx.com

如果您可以控制SMTP通信,则只能执行登录部分来测试用户名和密码而不发送消息。