MVC4 アプリケーションを開発しており、Windows Live ID を使用してアプリケーションを認証したいと考えています。ユーザーを招待できるページを開発したので、ユーザーのメール ID が Windows Live ID かどうかを確認したいのですが。
私はさまざまなことを試しましたが、電子メールIDがGmail IDであるかどうかを検証しているだけです。
以下のコードを試しました。ただし、Windows Live IDではなく、Gmailで機能しています
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:<YourGmailIDHere@gmail.com>" + 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:<" + email.Trim() + ">" + CRLF);
netStream.Write(dataBuffer, 0, dataBuffer.Length);
ResponseString = reader.ReadLine();
if (GetResponseCode(ResponseString) == 550)
{
IsExist = false;
//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();
これを達成できる他の方法はありますか?