我如何排序“ping”SMTP服务器,以便检查帐户/密码是否有效?
我正在尝试构建一个小的WPF电子邮件发件人教程,但如果它有这个明显的错误我不想分享它。
目前,这就是发生的事情。
- 用户输入用户名和密码。
- 标签’loginstatus’更改为“已登录”,无论它是否是粗略的。
- 消息正文和发送到字段已启用。
- 用户按下“发送”按钮,如果有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通信,则只能执行登录部分来测试用户名和密码而不发送消息。