내 핫메일 계정의 존재 여부를 테스트하려고하는데 다음 코드는 도움이되지 않습니다.Hotmail 계정이 존재하는지 테스트하는 방법?
public bool IsExists_SMTPMethod(string email)
{
string domain = email.Substring(email.IndexOf("@") + 1);
var servers = _commander.GetMXServers(domain);
Socket socket = null;
foreach (MXServer mxserver in servers)
{
IPHostEntry ipHost = Dns.Resolve(mxserver.MailExchanger);
IPEndPoint endPoint = new IPEndPoint(ipHost.AddressList[0], 25);
socket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(endPoint);
if (!CheckResponse(socket, ResponseEnum.ConnectSuccess))
{
socket.Close();
}
else
{
// If connected, send SMTP commands
{
SendData(socket, string.Format("HELO {0}\r\n", "machinename"));
if (!CheckResponse(socket, ResponseEnum.GenericSuccess))
{
socket.Close();
continue;
}
SendData(socket, string.Format("MAIL FROM: <{0}>\r\n", "[email protected]"));
CheckResponse(socket, ResponseEnum.GenericSuccess);
SendData(socket, string.Format("RCPT TO: <{0}>\r\n", email));
bool result = CheckResponse(socket, ResponseEnum.GenericSuccess);
if (!result)
{
socket.Close();
continue;
}
else
return true;
}
}
}
return false;
}
당신을 도울 방법을하지 않았다? 오류가 발생 했습니까? 그렇다면 어떤 오류가 있었습니까? 이 코드에서 변경 한 사항은 무엇입니까? – techturtle
많은 메일 서버가 이것을 스팸 방지를 위해 사용합니다. 수신자가 수신자 인 경우에도 rcpt에 대한 응답으로 오류를 반환하지 않습니다. 존재하지 않습니다. –
확인. false로 돌아가는 모든 핫메일 계정에 대해 –