欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

錯誤展示:

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

報錯:

"{"success":false,"message":"錯誤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ù)開放的,是這三個端口中最老的一個。25端口也稱為消息中繼端口,因為這個端口經(jīng)常被惡意利用,所以現(xiàn)在這個端口主要用于郵件服務(wù)器之間的消息轉(zhuǎn)發(fā),而且現(xiàn)在國內(nèi)的云服務(wù)器如阿里云騰訊云等等都是默認禁用25端口的。

465端口

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

587端口

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

問題

如下面發(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ā)不出來了,這個很可能是因為25端口被禁用,所以需要開啟服務(wù)器的25端口(阿里云騰訊云等25端口開啟要申請),而網(wǎng)上推薦使用465端口,但是System.Net.Mail貌似不支持465端口,可能與上面說的465端口未被IETF認可有關(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ā)送郵件失敗實例分析的文章就介紹到這了,更多相關(guān)C# 服務(wù)器發(fā)送郵件失敗原因內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c#的sortedlist使用方法

    c#的sortedlist使用方法

    這篇文章主要介紹了c#的sortedlist使用方法,需要的朋友可以參考下
    2014-05-05
  • C#特性 迭代器(下) yield以及流的延遲計算

    C#特性 迭代器(下) yield以及流的延遲計算

    這篇文章主要介紹了C#特性 迭代器(下) yield以及流的延遲計算,需要的朋友可以參考下
    2014-12-12
  • C#使用WebClient實現(xiàn)上傳下載

    C#使用WebClient實現(xiàn)上傳下載

    這篇文章介紹了C#使用WebClient實現(xiàn)上傳下載的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#實現(xiàn)的簡單隨機數(shù)產(chǎn)生器功能示例

    C#實現(xiàn)的簡單隨機數(shù)產(chǎn)生器功能示例

    這篇文章主要介紹了C#實現(xiàn)的簡單隨機數(shù)產(chǎn)生器功能,涉及C#簡單界面布局、事件響應(yīng)及隨機數(shù)生成相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • C#使用listView增刪操作實例

    C#使用listView增刪操作實例

    這篇文章主要介紹了C#使用listView增刪操作的實現(xiàn)方法,實例分析了C#中使用listView控件進行動態(tài)添加、選中刪除等操作的技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • 實現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路

    實現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路

    這篇文章主要介紹了實現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • C#實現(xiàn)的封裝CURD到SqlHelper類用法簡單分析

    C#實現(xiàn)的封裝CURD到SqlHelper類用法簡單分析

    這篇文章主要介紹了C#實現(xiàn)的封裝CURD到SqlHelper類用法,涉及數(shù)據(jù)庫相關(guān)配置方法及SqlHelper類的簡單使用技巧,代碼中包含了較為詳盡的注釋便于理解,需要的朋友可以參考下
    2017-11-11
  • C# 中使用 Exceptionless的方法

    C# 中使用 Exceptionless的方法

    這篇文章主要介紹了C# 中使用 Exceptionless的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12
  • C#反射應(yīng)用實例

    C#反射應(yīng)用實例

    這篇文章主要介紹了C#反射應(yīng)用,實例分析了通過反射實現(xiàn)多系統(tǒng)數(shù)據(jù)庫的配置方法,是比較實用的技巧,需要的朋友可以參考下
    2014-12-12
  • c# Base64編碼和圖片的互相轉(zhuǎn)換代碼

    c# Base64編碼和圖片的互相轉(zhuǎn)換代碼

    Base64編碼在Web方面有很多應(yīng)用,譬如在URL、電子郵件方面。網(wǎng)上有很多相關(guān)的資源用于提供Base64編碼和其他編碼的轉(zhuǎn)換,.Net Framework也提供了現(xiàn)成的功能類(System.Convert)用于將二進制數(shù)據(jù)轉(zhuǎn)換為Base64字符串
    2014-08-08

最新評論