我正在尝试使用端口587通过SSL,smtp.gmail.com和get:
通过我的应用程序在Mono中发送消息System.Net.Mail.SmtpException:无法发送消息。 ---> System.IO.IOException:身份验证或解密失败。 ---> System.IO.IOException:身份验证或解密失败。 ---> Mono.Security.Protocol.Tls.TlsException:无效 从服务器收到证书。错误代码:0xffffffff800b010a
最有趣的是,那一周一切正常并且消息已经发送。现在我弄错了。
我也试过mozroots --import
,但它没有帮助。此外,我更新了证书GoogleInternetAuthorityG2.crt,但这并没有帮助。
Ubuntu 16.04 with Mono 4.6.2(稳定4.6.2.7/08fd525)
答案 0 :(得分:4)
Mono 4.8或更高版本会带来支持更多加密算法的new TLS stack,请升级。
答案 1 :(得分:3)
在发送消息之前尝试这个(这是一种黑客攻击,但在Mono上这是唯一对我有用的东西..)
ServicePointManager.ServerCertificateValidationCallback =
delegate(object s, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{ return true; };