通过TCP抓包发现
MailKit发送的SMTP命令是:
MAIL FROM:<发件人邮箱> | RCPT TO:<收件人邮箱>
阿里云邮件推送服务器返回的错误是:
503 Bad sequence of commands
用.NET Framework的System.Net.Mail发送邮件时,对应的SMTP命令(分成了2个命令)是:
MAIL FROM:<发件人邮箱> RCPT TO:<收件人邮箱>
已经向阿里云提交了工单
@dudu: 您好,工单有回复了吗
@痛快: 客服回复说要等到周一转交给专员处理
@dudu: 好的,谢谢,有了解决方案通知下,现在估计很多人在研究这个问题
@dudu: 有回复了吗,我也提了个工单,但回我说我这边网络问题,我接着提呢
@痛快: 回复让人很不满意,正准备投诉
@dudu: 嗯,我提交了,要么说我网络有问题,要么说我输的用户名密码不正确
@痛快: 也说我用户名密码不正确,等会tcp抓包给他们看
@痛快: 问题的原因找到了,详见 https://github.com/jstedfast/MailKit/issues/162
@痛快: 向MailKit提交了pull request:https://github.com/jstedfast/MailKit/pull/370
@痛快: 临时解决方法见 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题
@痛快: MailKit 的作者已经修复了这个问题,详见 Added another broken SMTP server to the list
@痛快: MailKit 1.4.1 已修复这个问题。
@dudu: 对应NETCore.MailKit 哪个版本,有段时间是好的,也没升级,然后就发送不了了,有其他组件推荐吗,可以在linux 下运行的
@奔*跑: 从 .NET Core 2.0 开始已经内置 SmtpClient ,参考 .NET Core 2.0 - Send an e-mail
@奔*跑: 我们用的是 MailKit ,在 Linux 上没遇到问题
@dudu: 但是目前我的项目只能用netstandard1.6 还不可以完全升级到2.0 就搞得很尴尬。
坐等答案,不过,试试消息队列方式的曲线救国勒?。
发送邮件可以用smtp
就是用的smtp
对应NETCore.MailKit 哪个版本?