2013-07-31 64 views
0
private byte[] BytesFromString(string str) 
    { 
     return Encoding.ASCII.GetBytes(str); 
    } 
    private int GetResponseCode(string ResponseString) 
    { 
     return int.Parse(ResponseString.Substring(0, 3)); 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     TcpClient tClient = new TcpClient("plus.smtp.mail.yahoo.com", 465); 
     string CRLF = "\r\n"; 
     byte[] dataBuffer; 
     string ResponseString; 
     NetworkStream netStream = tClient.GetStream(); 
     StreamReader reader = new StreamReader(netStream); 
     ResponseString = reader.ReadLine(); 
     dataBuffer = BytesFromString("HELO " + 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(); 
     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 !"); 
     } 
     dataBuffer = BytesFromString("QUITE" + CRLF); 
     netStream.Write(dataBuffer, 0, dataBuffer.Length); 
     tClient.Close(); 
    } 

嗨,此代碼不能與SMTP服務器雅虎,但代碼工作的工作與Gmail的SMTP服務器TcpClient tClient = new TcpClient("gmail-smtp-in.l.google.com", 25)檢查電子郵件地址是否屬於雅虎?

error:An established connection was aborted by the software in your host machine in line Response String = reader.ReadLine();

,並更改端口服務器25沒有發生! smtp服務器和端口服務器是否有效? 有沒有辦法確保電子郵件有效? 有人可以幫助我嗎?

+0

請參閱:http://stackoverflow.com/questions/3040104/verify-that-email-domain-exists – 2013-07-31 08:04:50

回答

0

用於算法responsing從中獲取數據的一些服務器主機比機器特定的服務器無法響應.....

,但正如你所說的Gmail提供數據,因此機器不能使用任何對回覆數據的限制......

相關問題