我创建了一个自动登录hotmail的应用。
我无法使其工作的是登录后应用程序应将邮件的收件箱html代码保存在richtextbox1.text
我的问题是保存的html代码不是来自收件箱页面,而是来自登录页面。
代码:
Dim SMTP As New SmtpClient("smtp.live.com")
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("mymail@hotmail.com", "mypassword")
SMTP.Port = "25"
Dim Client As New WebClient()
Dim Url As String
Url = "https://dub128.mail.live.com/?fid=flinbox&paid=cmz5t5hGnc5BGUiAAjfeOiwA2&pad=2015-04-06T14%3A30%3A58.080Z&pat=2&pidx=2"
Dim Html As String = Client.DownloadString(New Uri(Url))
Dim searhwiththis As String = RichTextBox1.Text
RichTextBox1.Text = Html
答案 0 :(得分:2)
您通过SMTP登录,然后尝试使用HTTP请求获取收件箱。这不会起作用 - 它们完全是独立的协议。因此,您的HTTP请求会被重定向到登录表单。
您需要编写登录表单的提交脚本以获取有效的用户会话。但请注意,大多数主要的Webmail系统都会检测并阻止尝试自动登录(使用验证码等)。
更好的是,使用正确的协议 - IMAP - 以标准方式下载电子邮件,而不是尝试解析用户收件箱的HTML。