2009-10-12 5 views
0

Windows Live에 사용자 이름과 암호를 입력하여 전자 메일 계정에 로그인 할 수 있는지 여부를 알려주는 프로그램을 만들고 싶습니다.VB.NET을 사용하여 Windows Live Mail에 로그인 하시겠습니까?

Hotmail 서버에 연결하여 사용자/패스 조합이 올바른지 확인합니다. 로그인 할 수있는 경우 계정이 유효하다는 레이블을 표시하고 그렇지 않으면 계정이 유효하지 않다고 표시합니다.

어떻게해야합니까? . 그들은이에 대한 해결책이있는 경우

Dim MyMailMessage As New MailMessage 
MyMailMessage.From = New MailAddress(TextBox1.Text) 
MyMailMessage.To.Add(TextBox1.Text) 

Dim SMTP As New SmtpClient("smtp.live.com") 
SMTP.Port = 25 
SMTP.EnableSsl = True 
SMTP.Credentials = New System.Net.NetworkCredential("textbox1.text", "textbox2.text") 
SMTP.Send(MyMailMessage) // I have no idea how to get a response here... from the live server if it gives me a correct or incorrect response... 

사람이 예제 코드를 게시 할 수 :

확인 여기에 로그인을위한 완전히 잘못된 코드의 나는 종류의 이메일을 전송에서 빌려? 이 싱글을 어떻게 손에 넣을지 전혀 모르니까요.

+2

무엇을 시도 했습니까? Stack Overflow가 당신을 대신 해주기를 원하는 것처럼 들립니다. –

+1

자세한 내용을 추가하여 질문을보다 구체적으로 작성해야합니다. 지금까지 무엇을 얻었는지와 정확히 어디에 문제가 있는지 보여주십시오. –

+0

글쎄, 나는 System.net.mail과 연결을 시도했다. 그러나 그것은 system.net.mail이 보통 이메일을 보내기 위해 이것을 사용하기 때문에 성공하지 못했습니다. – lab12

답변

0

하나의 옵션으로 사용자 이름과 암호 입력 상자에 액세스 할 수있는 WebBrowser 컨트롤을 사용할 수 있으며 로그인 단추를 클릭 할 수 있습니다. 그런 다음 사용자가 리디렉션되는 페이지와 사용자 이름/비밀번호 조합을 알려주는 페이지가 올바른지 확인할 수 있습니다.

+0

좋습니다. 좋은 생각 인 것 같습니다. 하지만, (사용자 이름 상자 인) textbox1과 (암호 상자) 인 textbox2를 가지고 있다면 어떨까요? 언론 보도에서이 상자의 텍스트 값이 웹 브라우저의 올바른 위치로 어떻게 이동합니까? – lab12

+0

다음과 같이하면됩니다 : browser.Document.GetElementById ("username"). SetAttribute ("value", Info.Username); 여기서 브라우저는 WebBrowser 컨트롤이고 "username"은 페이지의 입력 요소 ID입니다. 그리고 암호 상자에 대해 동일한 작업을 수행합니다. 그런 다음 로그인 버튼을 클릭하면 다음과 같이 작동합니다. browser.Document.GetElementsById ("login"). InvokeMember ("click"); 로그인 버튼에 ID가 없지만 Document 객체의 다른 메소드를 사용하여 ID를 찾는 방법을 파악할 수있는 경우 조금 복잡해집니다. 예를 들어 –

+0

을 입력하면 Info.Username을 textbox1.Text로 바꿉니다. –

0

브라우저로 로그인 할 때 발생하는 상황을 보려면 Fiddler 또는 HTTP Analyzer를 사용하십시오. (나는 당신에게 손을 줄 수있다 : http 게시물 요청은 https://login.live.com...에게 보내진다.)

그 다음해야 할 일은 .NET의 HttpWebRequest 클래스로이 요청을 모방하는 것이다. 브라우저에서 가능한 한 비슷한 요청을하는 것이 중요합니다.

1
dim smtp as new smtpclient("smtp.live.com",25) 
dim m as new mailmessage()'message must contains from, to, etc 

with smtp 

.usedefaultcredentials = false 'by default this is true 
.credentials = new networkcredential("usuername","password") 
.enablessl = true 
.ishtmlbody = true 
.send(m) 
'or async 
'.send(m,addresof enviado)' i'm not remember well if addressof is required here 
end with 


public sub Enviado 
msgbox("mail message sended async") 
end sub 
관련 문제