试图使用SMTP通过ProtonMail桥(https://protonmail.com/bridge)发送电子邮件。它基本上是本地SMTP服务器,用于发送安全电子邮件。
当试图通过我的.Net应用程序发送时,我得到:
System.Net.Mail.SmtpException:身份验证失败。( System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail.SmtpClient.Send(MailMessage message) at EmailTest.Form1.sendButton_Click(对象发送方,EventArgs e)
这是我的测试代码:
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("<my username>", "<ProtonMail bridge password>");
smtp.Host = "127.0.0.1";
smtp.Port = 1025;
smtp.Send("me@FakeEmail.com", "them@FakeEmail.com", "Test Message Subject", "Test Message Body");在尝试时,我也会得到相同的异常。
smtp.EnableSsl=true当我获取确切的凭据/配置并将它们放入电子邮件客户端(Outlook或类似的)时,它可以正常工作。
以前有人遇到过这个问题吗?有什么解决办法吗?
在联机搜索时,唯一能找到的是在设置凭据属性之前设置UseDefaultCredentials=false。但我已经这么做了。
发布于 2019-05-23 02:59:07
根据ProtonMail支持,这是一个已知的兼容性问题,目前还没有直接解决方案。
最后,我从System.Net.Mail.SmtpClient转到了MailKit。它具有所有相同的功能,并与ProtonMail Smtp服务一起工作。
https://stackoverflow.com/questions/56010524
复制相似问题