전자 메일 주소를 asp.net의 정규식으로 유효성을 검사 할 수 있습니다. 이제 이메일 주소가 실제로 존재하는지 여부를 어떻게 알 수 있습니까?전자 메일 주소가 실제로 있는지 또는 asp.net을 사용하지 않는지 어떻게 확인할 수 있습니까?
예를 들어, [email protected]은 올바른 이메일 형식을 가지고 있지만 존재하지 않습니다.
이 코드 만 Gmail의 SMTP와 함께 작동 : 나 자신을 수행하지만,하지 않은
protected void btnCheck_Click(object sender, EventArgs e)
{
TcpClient tClient = new TcpClient("gmail-smtp-in.l.google.com", 25);
string CRLF = "\r\n";
byte[] dataBuffer;
string ResponseString;
NetworkStream netStream = tClient.GetStream();
StreamReader reader = new StreamReader(netStream);
ResponseString = reader.ReadLine();
/* Perform HELO to SMTP Server and get Response */
dataBuffer = BytesFromString("HELO KirtanHere" + CRLF);
netStream.Write(dataBuffer, 0, dataBuffer.Length);
ResponseString = reader.ReadLine();
dataBuffer = BytesFromString("MAIL FROM:<[email protected]>" + CRLF);
netStream.Write(dataBuffer, 0, dataBuffer.Length);
ResponseString = reader.ReadLine();
/* Read Response of the RCPT TO Message to know from google if it exist or not */
dataBuffer = BytesFromString("RCPT TO:<" + TextBox1.Text.Trim() + ">" + CRLF);
netStream.Write(dataBuffer, 0, dataBuffer.Length);
ResponseString = reader.ReadLine();
if (GetResponseCode(ResponseString) == 550)
{
Response.Write("Mai Address Does not Exist !<br/><br/>");
Response.Write("<B><font color='red'>Original Error from Smtp Server :</font></b>" + ResponseString);
}
/* QUITE CONNECTION */
dataBuffer = BytesFromString("QUITE" + CRLF);
netStream.Write(dataBuffer, 0, dataBuffer.Length);
tClient.Close();
}
이메일을 보내고 다시 걷어차 야합니다. 심지어 많은 스팸 필터가 스팸 소스를 아는 "배달 할 수없는"답장을 보내지 않으므로 100 %가 아닙니다. –