我打算髮送一個電子郵件形式使用C#的Hotmail帳戶。無法發送郵件到hotmail上贏得8.1
這是代碼:
var smtpClient = new SmtpClient();
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("[email protected]" , "password");
smtpClient.Host = "smtp.live.com";
smtpClient.Port = 587;
smtpClient.EnableSsl = true;
smtpClient.SendCompleted += SmtpClientSendCompleted;
var mailMessage = new MailMessage("[email protected]", "[email protected]", "The subject", "The body");
try
{
smtpClient.Send(mailMessage);
}
catch (Exception ex)
{
MessageBox.Show(string.Format("An error occur while sending the mail: {0}", ex.Message));
return;
}
MessageBox.Show("Message was sent succesfully\n");
}
此代碼工作完全在Win8中和Win7,但未能在win8.1並拋出以下異常:
System.IO.IOException:無法從傳輸連接讀取數據:現有連接被遠程主機強制關閉。 ---> System.Net.Sockets.SocketException:現有連接被遠程主機強制關閉。
在System.Net.Sockets.NetworkStream.Read(字節[]緩衝區,偏移的Int32, 的Int32大小)
另外,如果我cahnge郵件提供商gmail.com它也完美的作品。
我試圖使用ThunderBird從win8.1上的hotmail帳戶發送郵件,它工作。
我的代碼有什麼問題?
發送throw win8.1時是否拋出異常? – DGibbs
「它失敗」是什麼意思?你有錯誤嗎?如果是這樣,那麼錯誤信息是什麼?您需要提供我們可以用來嘗試和幫助的信息; 「失敗」可能對你很清楚,但我們無法看到你的屏幕或從這裏讀出你的想法。 –
@KenWhite你是對的。我添加了異常說明。 – user844541