日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

發(fā)布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在博問中(.net core怎么實現(xiàn)郵件發(fā)送)知道了MailKit無法使用阿里云郵件推送服務發(fā)送郵件的問題,自已實測也遇到同樣的問題,而用自己搭建的郵件服務器沒這個問題。

于是,向阿里云提交了工單。。。在提供了TCP抓包數(shù)據(jù)后,阿里云技術專員發(fā)現(xiàn)了問題所在:在認證通過后,MailKit發(fā)送了EHLO命令,然后才發(fā)送MAIL FROM命令,服務器在收到EHLO時會重置客戶端的認證狀態(tài),所以后續(xù)的命令過來時,服務器認為客戶端沒有認證,于是報錯“503 Bad sequence of commands”。

知道了問題的原因后,首先想到的解決方法是不讓MailKit在發(fā)送MAIL FROM命令之前發(fā)送EHLO命令。

于是在github上簽出MailKit的源代碼,在?MailKit\Net\Smtp\SmtpClient.cs 中找到了下面的代碼:

if (host != "smtp.strato.de" && host != "smtp.sina.com")Ehlo (cancellationToken);

并且發(fā)現(xiàn)了對應這個問題的issue:EHLO after AUTH causes send failure with 5.7.0 even though authentication succeeded #162

原來這是已知問題,MailKit暫時采用了臨時解決方法,于是我們也依葫蘆畫瓢,加上了阿里云郵件推送服務的SMTP服務器:

if (host != "smtp.strato.de" && host != "smtp.sina.com"&& !host.Equals("smtp.dm.aliyun.com", StringComparison.OrdinalIgnoreCase))Ehlo (cancellationToken);

接著通過以下命令自己編譯出MailKit.dll(在 MailKit\bin\Debug\netstandard1.3 文件夾中)

git submodule update --init --recursivecd submodules\MimeKit\MimeKit dotnet restorecd ..\..\..\MailKit dotnet restore dotnet build


接著用這個?MailKit.dll 替換?.nuget\packages\MailKit\1.4.0\lib\netstandard1.3\MailKit.dll ,然后運行郵件發(fā)送程序,問題解決。

[更新]

MailKit 的作者已經(jīng)修復了這個問題,詳見?Added another broken SMTP server to the list

相關文章:

  • 微軟.NET 正式劈腿成功,橫跨所有平臺

  • .NET Core 1.0 CentOS7 嘗試

  • 解讀發(fā)布:.NET Core RC2 and .NET Core SDK Preview 1

  • [.NET Core].NET Core R2安裝及示例教程

  • ASP.NET Core 開發(fā)-中間件(Middleware)

  • 結(jié)合Jexus + Kestrel 部署 asp.net core 生產(chǎn)環(huán)境

  • 通過Jexus 部署 dotnetcore版本MusicStore 示例程序

  • ASP.NET Core 中文文檔 第一章 入門

  • 用 Visual Studio Code 在 macOS 上創(chuàng)建首個 ASP.NET Core 應用程序

  • 用 Visual Studio 和 ASP.NET Core MVC 創(chuàng)建首個 Web API

  • 用 Visual Studio 發(fā)布一個 Azure 云 Web 應用程序

  • ASP.NET Core MVC 與 Visual Studio 入門

  • 第二章指南(4.2)添加 Controller

  • DotNet Core 介紹

  • asp.net core 中間件詳解及項目實戰(zhàn)

  • 教你實踐ASP.NET Core Authorization(免看文檔教程)

  • asp.net core 使用 Redis 和 Protobuf 進行 Session 緩存

  • asp.net core 中間件詳解及項目實戰(zhàn)

  • 第二章 指南(4.3)添加 View

  • dotnet core開發(fā)體驗之開始MVC

  • dotnet core 開發(fā)體驗之Routing

  • 聊聊ASP.NET Core默認提供的這個跨平臺的服務器——KestrelServer

  • 簡析.NET Core 以及與 .NET Framework的關系

  • .NET Core 使用Dapper 操作MySQL

  • 使用 CommandLineApplication 類創(chuàng)建專業(yè)的控制臺程序

  • 簡析 .NET Core 構(gòu)成體系

  • .NET Core也可以使用MongoDB了

  • .NET Core & ASP.NET Core 1.0在Redhat峰會上正式發(fā)布

  • .NET Core:面向未來的開源跨平臺開發(fā)技術

  • 微軟說它深愛著Linux,現(xiàn)在它用行動證明了

  • 移植.NET Core計劃,整合各平臺變得更簡單了!

  • ASP.NET Core 介紹

  • 通過幾個Hello World感受.NET Core全新的開發(fā)體驗

  • ASP.NET Core 運行原理剖析1:初始化WebApp模版并運行

  • .NET Core系列 : 1、.NET Core 環(huán)境搭建和命令行CLI入門

  • Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx )

  • Asp.Net Core 發(fā)布和部署(Linux + Jexus )

  • 學習ASP.NET Core,你必須了解無處不在的“依賴注入”

  • .NET Core應用類型(Portable apps & Self-contained apps)

  • .NET Core 1.0發(fā)布:微軟開源跨平臺大布局序幕

  • ASP.NET Core 運行原理剖析2:Startup 和 Middleware(中間件)

  • 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序

  • ASP.NET Core 開發(fā)-Entity Framework (EF) Core 1.0 Database First

  • 擁抱.NET Core,跨平臺的輕量級RPC:Rabbit.Rpc

  • 使用 dotnet watch 開發(fā) ASP.NET Core 應用程序

  • ASP.NET Core 發(fā)布至Linux生產(chǎn)環(huán)境 Ubuntu 系統(tǒng)

  • ASP.NET Core Docker部署

  • ASP.NET Core "完整發(fā)布,自帶運行時" 到jexus

  • 全球首發(fā)免費的MySql for Entity Framework Core

  • ASP.NET Core開發(fā)-使用Nancy框架

原文地址:http://www.cnblogs.com/dudu/p/5661267.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結(jié)

以上是生活随笔為你收集整理的解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。