最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 服務(wù)器發(fā)送郵件失敗實(shí)例分析

 更新時(shí)間:2020年03月01日 16:44:14   作者:一無是處謝  
在本篇文章里小編給大家?guī)硪黄P(guān)于C# 服務(wù)器發(fā)送郵件失敗實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。

錯(cuò)誤展示:

我在本地是可以發(fā)送的但部署到服務(wù)器上后就不能發(fā)送了。SMTP服務(wù)是開了的。

報(bào)錯(cuò):

"{"success":false,"message":"錯(cuò)誤System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: The remote name could not be resolved: 'smtp.163.com'

分析:

郵件發(fā)送相關(guān)端口

首先說下郵件發(fā)送的端口:25/465/587

25端口

25端口是為SMTP協(xié)議服務(wù)開放的,是這三個(gè)端口中最老的一個(gè)。25端口也稱為消息中繼端口,因?yàn)檫@個(gè)端口經(jīng)常被惡意利用,所以現(xiàn)在這個(gè)端口主要用于郵件服務(wù)器之間的消息轉(zhuǎn)發(fā),而且現(xiàn)在國(guó)內(nèi)的云服務(wù)器如阿里云騰訊云等等都是默認(rèn)禁用25端口的。

465端口

465端口是為SMTPS(SMTP-over-SSL)協(xié)議服務(wù)開放的,而SMTPS是SMTP協(xié)議基于SSL安全協(xié)議之上的一種變種協(xié)議,它繼承了SSL安全協(xié)議的非對(duì)稱加密的高度安全可靠性,可防止郵件泄露,SMTP與SMTPS的關(guān)系類似HTTP與HTTPS的關(guān)系。465端口并未被IETF認(rèn)可,因此那些嚴(yán)格準(zhǔn)招Internet標(biāo)準(zhǔn)的公司可能也沒有認(rèn)可,但是在國(guó)內(nèi)環(huán)境被作為25端口的替代端口。

587端口

587端口是郵件客戶端向郵件服務(wù)器提交消息的推薦端口,是STARTTLS協(xié)議的,屬于TLS通訊協(xié)議,也稱為消息提交端口。客戶端通過587端口提交消息,然后服務(wù)器之間通過25端口轉(zhuǎn)發(fā),這是一個(gè)理想模式。

問題

如下面發(fā)郵件的代碼

string host = "smtp.exmail.qq.com";//qq郵箱
 int port = 25;//25 465 587
 string from = "123456@qq.com";
 string to = "456789@qq.com";
 string userName = "123456@qq.com";
 string password = "123456";

 MailMessage message = new MailMessage();
 message.From = new MailAddress(from);
 message.To.Add(new MailAddress(to));
 message.Body = "test body";
 message.Subject = "test subject";
 message.IsBodyHtml = true;
 message.SubjectEncoding = Encoding.UTF8;

 SmtpClient client = new SmtpClient(host, port);
 client.UseDefaultCredentials = true;
 client.Credentials = new NetworkCredential(userName, password);
 client.Send(message);

上面發(fā)郵件使用的是System.Net.Mail,如果使用的本地環(huán)境,是可以發(fā)送郵件的,可如果部署到服務(wù)器上,特別是云服務(wù)器,可能郵件就發(fā)不出來了,這個(gè)很可能是因?yàn)?5端口被禁用,所以需要開啟服務(wù)器的25端口(阿里云騰訊云等25端口開啟要申請(qǐng)),而網(wǎng)上推薦使用465端口,但是System.Net.Mail貌似不支持465端口,可能與上面說的465端口未被IETF認(rèn)可有關(guān)吧。

System.Net.Mail不支持465端口不表示465端口不可用,如果是.net framework,可以使用System.Web.Mail來使用465端口,如果是.net core,可以使用MailKit,不僅支持465,還支持25和587端口,可以使用nuget安裝MailKit

string host = "smtp.exmail.qq.com";//qq郵箱
 int port = 465;//25 465 587
 string from = "123456@qq.com";
 string to = "456789@qq.com";
 string userName = "123456@qq.com";
 string password = "123456";
 
 var message = new MimeMessage();
 message.From.Add(new MailboxAddress(from));
 message.To.AddRange(new MailboxAddress[] { new MailboxAddress(to) });
 message.Subject = "test subject";
 var entity = new TextPart(TextFormat.Html)
 {
 Text = "test body"
 };
 SmtpClient client = new SmtpClient();
 client.Connect(host, port, port == 465);//465端口是ssl端口
 client.Authenticate(userName, password);
 client.Send(message);
 client.Disconnect(true);

到此這篇關(guān)于C# 服務(wù)器發(fā)送郵件失敗實(shí)例分析的文章就介紹到這了,更多相關(guān)C# 服務(wù)器發(fā)送郵件失敗原因內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#裝箱和拆箱操作實(shí)例分析

    C#裝箱和拆箱操作實(shí)例分析

    這篇文章主要介紹了C#裝箱和拆箱操作,結(jié)合實(shí)例形式分析了C#中裝箱與拆箱的概念、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-08-08
  • 使用C#實(shí)現(xiàn)解析Excel公式

    使用C#實(shí)現(xiàn)解析Excel公式

    在日常工作中,我們經(jīng)常需要在Excel中使用公式對(duì)表中數(shù)據(jù)進(jìn)行計(jì)算和分析,所以本文小編主要來和大家介紹一下如何在C#中實(shí)現(xiàn)解析Excel公式,感興趣的可以了解下
    2024-02-02
  • C#中FileSystemWatcher的使用教程

    C#中FileSystemWatcher的使用教程

    這篇文章主要給大家介紹了關(guān)于C#中FileSystemWatcher使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C#反序列化到類的實(shí)現(xiàn)方法

    C#反序列化到類的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#反序列化到類的實(shí)現(xiàn)方法,涉及C#反序列化的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C#實(shí)現(xiàn)appSettings節(jié)點(diǎn)讀取與修改的方法

    C#實(shí)現(xiàn)appSettings節(jié)點(diǎn)讀取與修改的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)appSettings節(jié)點(diǎn)讀取與修改的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • C# 獲得本地通用網(wǎng)卡信息的示例代碼

    C# 獲得本地通用網(wǎng)卡信息的示例代碼

    這篇文章主要介紹了C# 獲得本地通用網(wǎng)卡信息的示例代碼,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2020-08-08
  • C#多線程系列之任務(wù)基礎(chǔ)(一)

    C#多線程系列之任務(wù)基礎(chǔ)(一)

    本文詳細(xì)講解了C#多線程的任務(wù)基礎(chǔ),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • C# 對(duì)XML操作入門實(shí)例

    C# 對(duì)XML操作入門實(shí)例

    C# 對(duì)XML操作入門實(shí)例,需要的朋友可以參考一下
    2013-04-04
  • C# 實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)(附源碼)

    C# 實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)(附源碼)

    這篇文章主要介紹了C# 如何實(shí)現(xiàn)視頻監(jiān)控系統(tǒng),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-02-02
  • c#使用資源文件的示例

    c#使用資源文件的示例

    對(duì)于資源文件的使用,說白點(diǎn)就是通過強(qiáng)制類型轉(zhuǎn)換,將資源文件里的數(shù)據(jù)強(qiáng)行的轉(zhuǎn)換成你需要的,換種方式說,就是你原來存進(jìn)去什么,就用什么類型拿出來,下面我們學(xué)習(xí)一下c#使用資源文件的方法
    2014-01-01

最新評(píng)論

乐安县| 铜鼓县| 蓬安县| 阳西县| 沙坪坝区| 沽源县| 华阴市| 定襄县| 土默特右旗| 利津县| 锡林郭勒盟| 布拖县| 定陶县| 琼海市| 乃东县| 揭西县| 宁南县| 凤山县| 西宁市| 宜州市| 山东省| 教育| 米脂县| 云浮市| 邳州市| 通渭县| 东明县| 志丹县| 长兴县| 永登县| 靖宇县| 临高县| 乌审旗| 南乐县| 西宁市| 临猗县| 湖北省| 大庆市| 寿光市| 阿拉善右旗| 临城县|