嗨 我做了一個dns測試之前,我發送郵件,以確保我沒有得到錯誤。 但有一個問題,當我嘗試發送電子郵件到地址[email protected] 我從dns函數中得到一個錯誤。當我嘗試刪除郵件地址中的「 - 」時,它可以正常工作。dns測試失敗正確dns asp.net
起初我強調這是因爲「 - 」,但我發了一封電子郵件到[email protected] ,它的作用像一個魅力,那麼可能是什麼問題呢? 100%肯定「[email protected]」是現有的電子郵件/ dns。 錯誤消息即時得到是「沒有這樣的知源」(自由翻譯)
繼承人的DNS校驗碼:
Public Function testDNS(ByVal dnsstring As String) As Boolean
Dim email As String = dnsstring
Dim host As String() = email.Split("@")
Dim hostName As String = host(1)
Dim socket As Net.Sockets.Socket
Try
Dim entry As IPHostEntry = Dns.GetHostEntry(hostName)
Dim endPoint As New IPEndPoint(entry.AddressList(0), 25)
socket = New Sockets.Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
Return True
socket.Connect(endPoint)
Catch se As SocketException
Try
Return False
Catch ex As Exception
End Try
End Try
End Function
您正試圖建立與收件人郵件服務器上套接字的連接?它可能是導致問題的另一端,而不是你的代碼?就我個人而言,我會從GetHostEntry獲取記錄的IP,並查看是否得到了ping響應,而不是一路走下去嘗試建立連接。除非你確切地知道在另一端有什麼? – 2011-05-13 17:29:56
這些代碼工作的很好,但它只適用於這個指定的DNS ...我不知道爲什麼...所有其他的DNS:ES我已經嘗試過工作! :/ – Jimmy 2011-05-19 11:25:52
你是否在使用任何形式的模仿或類似?它在Active Directory中還是所有的機器都不相同?那些工作的DNS記錄類型有沒有差別? http://en.wikipedia.org/wiki/List_of_DNS_record_types – 2011-05-19 13:24:14