检查邮件服务器是否有效
Private Function GetMailServer(ByVal sDomain As String) As String
Dim info As New ProcessStartInfo
Dim ns As Process
'调用Windows的nslookup命令,查找邮件服务器
info.UseShellExecute = False
info.RedirectStandardInput = True
info.RedirectStandardOutput = True
info.FileName = "nslookup"
info.CreateNoWindow = True
'查找类型为MX。关于nslookup的详细说明,请参见
'Windows帮助
info.Arguments = "-type=MX " + sDomain.ToUpper.Trim
'启动一个进行执行Windows的nslookup命令()
ns = Process.Start(info)
Dim sout As StreamReader
sout = ns.StandardOutput
' 利用正则表达式找出nslookup命令输出结果中的邮件服务器信息
Dim reg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("mail exchanger = (?<server>[^///s]+)")
Dim mailserver As String
Dim response As String = ""
Do While (sout.Peek() > -1)
response = sout.ReadLine()
Dim amatch As System.Text.RegularExpressions.Match = reg.Match(response)
If (amatch.Success) Then
mailserver = amatch.Groups("server").Value
Exit Do
End If
Loop
Return mailserver
End Function
Private Function GetMailServer(ByVal sDomain As String) As String
Dim info As New ProcessStartInfo
Dim ns As Process
'调用Windows的nslookup命令,查找邮件服务器
info.UseShellExecute = False
info.RedirectStandardInput = True
info.RedirectStandardOutput = True
info.FileName = "nslookup"
info.CreateNoWindow = True
'查找类型为MX。关于nslookup的详细说明,请参见
'Windows帮助
info.Arguments = "-type=MX " + sDomain.ToUpper.Trim
'启动一个进行执行Windows的nslookup命令()
ns = Process.Start(info)
Dim sout As StreamReader
sout = ns.StandardOutput
' 利用正则表达式找出nslookup命令输出结果中的邮件服务器信息
Dim reg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("mail exchanger = (?<server>[^///s]+)")
Dim mailserver As String
Dim response As String = ""
Do While (sout.Peek() > -1)
response = sout.ReadLine()
Dim amatch As System.Text.RegularExpressions.Match = reg.Match(response)
If (amatch.Success) Then
mailserver = amatch.Groups("server").Value
Exit Do
End If
Loop
Return mailserver
End Function