【问题标题】:How can i check smtp server without sending email? [duplicate]如何在不发送电子邮件的情况下检查 smtp 服务器? [复制]
【发布时间】:2013-06-23 13:05:15
【问题描述】:

我有一个网络应用程序,用户可以设置 SMTP 服务器信息(服务器/主机、SMTP 端口、用户名、密码、电子邮件地址、使用的 SSL)。我需要当用户设置信息验证服务器而不发送电子邮件并检查 smtp 信息是否有效?

我发现网站运行良好,检查 SMTP 服务器是否有效(但不是身份验证检查)..http://mxtoolbox.com/diagnostic.aspx

编辑 1:

Tanx @Dieter DHoker 帮我在 cmets 中找到 Testing SMTP server is running via C#...

我是否需要检查身份验证信息(用户名、密码和电子邮件地址),因为我需要检查所有 smtp 信息是否有效?我之前问过的..

【问题讨论】:

  • 您可以使用System.Net Socket 类来查看服务器是否响应。
  • @Romoku tanx,我知道如何使用套接字来检查 smtp 服务器,但我应该了解 smtp 协议以及请求和响应......而且我对 smtp 协议了解得不够......跨度>
  • @Dieter DHoker, tanx 很多,我向前迈出了一步,我的完美答案.. 但是有没有办法检查用户身份验证信息是否正确?

标签: c# .net smtp smtpclient


【解决方案1】:

SMTP 中没有用户名和密码(参见 rfc 821),因此无法对其进行测试。 您可以使用 MAIL FROM 和 RCPT TO 序列,但不发送任何数据,以查看是否允许您发送带有给定信息的邮件,而不发送实际邮件。

【讨论】:

  • System.Mail.SmtpClient有凭据,我可以设置smtpClient.Credentials = new System.Net.NetworkCredential(username, password),我应该设置用户名和密码以从gmail或雅虎发送电子邮件..也许SMTP协议中没有身份验证信息,但我认为也许它使用了扩展协议或其他与 SMTP 匹配的东西,我之前对其进行了测试,然后我发送了带有空标题和空正文的电子邮件(曾经测试空 rcpt 到)但在我的测试中我使用了gmail 来获取所有电子邮件并给我空 rcpt 到..的错误。
猜你喜欢
  • 2014-01-13
  • 1970-01-01
  • 1970-01-01
  • 2013-12-08
  • 2011-06-25
  • 2014-08-11
  • 2010-10-12
  • 1970-01-01
相关资源
最近更新 更多