第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SmtpClient.Send 卡住

SmtpClient.Send 卡住

C#
大話西游666 2022-06-12 10:49:54
string host = "gauntlet.asoshared.com", username= "a@a.test", pwd = "abc",    from = "a@a.test", to = "b@b.test";int port = 465;var mm = new MailMessage(from, to);mm.Body = "b1";mm.Subject = "s1";mm.IsBodyHtml=false;using (var smtp=new SmtpClient(host, port)) {    smtp.EnableSsl = true;    smtp.Credentials = new NetworkCredential (username, pwd);    smtp.Send(mm);}這一直停留在smtp.Send. 大約 2 分鐘后,我收到超時(shí)錯(cuò)誤。使用 Outlook,它可以完美運(yùn)行(使用我的真實(shí)憑據(jù))。查看 Wireshark,我在運(yùn)行此代碼時(shí)看到 TCP SYN、SYN-ACK、ACK,然后什么也沒有。使用 Outlook 時(shí),后面跟著一個(gè)TLSv1.2 Client Helloetc。嘗試在代碼開頭添加以下行:ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;ServicePointManager.Expect100Continue=false;為什么 C# 卡住了,甚至沒有發(fā)送Client Hello?當(dāng)我使用不同的主機(jī)時(shí)它工作正常。編輯:您可以通過按原樣運(yùn)行上面的代碼自己重現(xiàn)該問題。您將收到超時(shí)錯(cuò)誤而不是錯(cuò)誤憑據(jù)錯(cuò)誤,并且使用wireshark,您可以看到C# 甚至沒有嘗試TLS 連接。
查看完整描述

3 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

我認(rèn)為問題在于隱式 SSL。

System.Net.Mail僅支持“顯式”SSL,如此處所述:

http://blogs.msdn.com/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

通常這是由慣例支配的。在端口 25(正常情況)上運(yùn)行的 SMTP 使用顯式 SSL。在端口 465 上運(yùn)行的 SMTPS 使用隱式 SSL。在端口 587 上運(yùn)行的郵件提交使用顯式 SSL。

25如果允許顯式 SSL,您可以嘗試使用端口。


查看完整回答
反對(duì) 回復(fù) 2022-06-12
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

這可能是題外話,但我想建議你使用

https://github.com/jstedfast/MailKit

而不是自己創(chuàng)建 smtp 客戶端,這是來自https://www.infoq.com/news/2017/04/MailKit-MimeKit-Official的原因。

SmtpClient 的主要問題是它有一個(gè)令人困惑的連接生命周期。連接到 SMTP 服務(wù)器可能很耗時(shí),尤其是在啟用身份驗(yàn)證的情況下,因此每個(gè) SmtpClient 對(duì)象都有一個(gè)內(nèi)部連接池。


查看完整回答
反對(duì) 回復(fù) 2022-06-12
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

試試下面的代碼。


private async Task<bool> SendEmail(string Email, string Message)

    {

        try

        {

            SmtpClient client = new SmtpClient("www.test.com");

                client.UseDefaultCredentials = false;

                client.Credentials = new NetworkCredential("abc@test.com", "password");

            MailMessage mailMessage = new MailMessage();

            mailMessage.From = new MailAddress("test@from.com");

            mailMessage.To.Add(Email);

            mailMessage.Body = Message;

            mailMessage.Subject = "abc";

            await client.SendMailAsync(mailMessage);

            return true;

        }

        catch (Exception ex)

        {

            return false;

        }


    }


查看完整回答
反對(duì) 回復(fù) 2022-06-12
  • 3 回答
  • 0 關(guān)注
  • 269 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)