dns测试在正确的dns asp.net上失败

时间:2011-05-13 14:15:16

标签: asp.net vb.net dns

您好 在发送邮件之前我做了一个dns测试,以确保我没有收到错误。 但是当我尝试向地址xxxxx@eco-log.se发送电子邮件时,有一个问题 我从dns函数得到一个错误。当我尝试删除邮件地址中的“ - ”时,它可以正常工作。

起初我认为这是因为“ - ”,但我发了一封电子邮件zzzzzz@eh-design.se 它就像一个魅力,那可能是什么问题呢? 100%确定“xxxxx@eco-log.se”是现有的电子邮件/密码。 我得到的错误信息是“没有这样的已知来源”(自由翻译)

继承人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

2 个答案:

答案 0 :(得分:0)

我相信你面临的问题是2个假设。这些是:

  1. domain.se 有DNS记录。有许多域名包含www.domain.se但不包含domain.se
  2. 这个主机(条目)应该存在,因为有一个邮件服务器正在侦听端口25。
  3. 由于邮件服务器可能位于完整的不同主机名上,因此存在名为 MX 或Mail eXchange的DNS记录。这些指向邮件服务器的实际位置。不幸的是,除非你使用第三方控件或一些更复杂的.net调用,我不确定你是否可以指定返回哪种类型的dns记录(如果我错了请评论:))。

    有些组件可以检查所有这些类型的东西,例如。 http://www.dart.com/ptmlvnet_overview.aspx。我没有使用这个特定的控件,但这将尝试连接到邮件服务器并停止发送电子邮件,以查看远程服务器是否报告电子邮件地址是无效还是不存在。我已经看到了其他人,所以尝试谷歌搜索或绑定“电子邮件地址验证组件.net”。

    我希望这有助于解释你遇到问题的原因。

    乔纳森

答案 1 :(得分:0)

看起来你只想解决域名'eco-log.se'的A(地址)记录

Dim entry As IPHostEntry = Dns.GetHostEntry(hostName)

但是该域名没有配置A记录,只有Google MX存在:

$ host eco-log.se
eco-log.se mail is handled by 10 aspmx.l.google.com.
eco-log.se mail is handled by 20 alt1.aspmx.l.google.com.
eco-log.se mail is handled by 20 alt2.aspmx.l.google.com.
eco-log.se mail is handled by 30 aspmx2.googlemail.com.
eco-log.se mail is handled by 30 aspmx3.googlemail.com.
eco-log.se mail is handled by 30 aspmx4.googlemail.com.
eco-log.se mail is handled by 30 aspmx5.googlemail.com.

ecolog.se和eh-design.se工作的原因是两个域都配置了A记录:

$ host ecolog.se  
ecolog.se has address 213.188.129.183
$ host eh-design.se
eh-design.se has address 212.97.133.22
eh-design.se mail is handled by 10 mail4.surftown.se.

按照标准,您应该使用MX记录中列出的服务器发送邮件,如果没有配置MX记录,则只回退到A记录 - 而不是反过来。