2015-02-09 86 views
1

我工作的地方有很多邮件通信,几乎所有通过web应用程序发送,我必须检查是否存在电子邮件地址。我已经阅读了很多关于它的文章,并且他们都把我带到了同一个进程。使用VB.NET检查SMTP服务器的可用性的最佳方法

  1. 首先检查大成
  2. 然后检查域DNS和MX记录
  3. 和SMTP服务器响应最后检查。

(我已经被遗漏的灰名单检查和邮箱检查)

好了,我已经找到了很好的资源,为前两个步骤,但我在与最后一个烦恼。我尝试一些服务,如EmailArchitect提供的服务,但没有结果,我认为这是因为我公司服务器的防火墙。所以我尝试了一些通过HTTP方法提供备选方案的服务,如verify-mail,但它只提供了DNS检查。最后,我现在考虑使用MS SMTP-Diag并从我的代码或其他东西中执行该过程,但我认为必须有其他解决方案。

所以,我的问题是,如果还有其他方法,我还没有尝试过,我只想检查SMTP的可用性,甚至没有担心例如服务器异常等异常。我会感谢您的帮助

回答

1

如果MX记录是一个URL,请检查它的DNS记录以确保它存在。然后尝试连接到端口25上的smtp服务器,如下所示:

Using tcp As New TcpClient 
    Try 
     tcp.Connect(ip, 25) 
     ' server found 
    Catch ex As Exception 
     ' server not found 
     End Try 
    tcp.Close() 
    End Using ' tcpclient 
相关问题