Mailkit SMTP 服务器意外断开连接

问题描述 投票:0回答:2

我在 IONOS 上部署了 ASP.NET Core 6 网站。 我尝试使用 MailKit 3.4.3 发送电子邮件(使用我的 IONOS 电子邮件)来验证新用户的电子邮件地址。

本地一切正常,电子邮件发送正确。但是当我在 IONOS 上部署站点时,连接期间出现错误:

Error : The SMTP server has unexpectedly disconnected. 
Stack :  at MailKit.Net.Smtp.SmtpStream.ReadAheadAsync(CancellationToken cancellationToken)
   at MailKit.Net.Smtp.SmtpStream.ReadResponseAsync(CancellationToken cancellationToken)
   at MailKit.Net.Smtp.SmtpClient.ConnectAsync(String host, Int32 port, SecureSocketOptions options, CancellationToken cancellationToken)

我联系了IONOS支持几次,他们确认主机地址、端口是正确的,并且他们这边没有任何限制,它应该可以工作...

我的代码:

using SmtpClient smtp = new(new ProtocolLogger("smtp.log"));
smtp.ServerCertificateValidationCallback = (s, c, h, e) => true;
await smtp.ConnectAsync("mrelay.schlund.de", 587, SecureSocketOptions.StartTls);
await smtp.AuthenticateAsync([email protected]", "greatpwd");
smtp.Send(email);
smtp.Disconnect(true);

知道我可能会错过什么吗?

asp.net-core smtpclient mailkit ionos
2个回答
0
投票

如果它在您的开发机上工作,但在生产服务器上不起作用,这通常意味着这是路由问题或防火墙问题。


0
投票

我也在使用 IONOS,并且使用以下设置没有出现问题。 服务器:smtp.ionos.com 端口:587 用户名:[电子邮件受保护] 密码: [电子邮件受保护]

的密码

请注意,我没有使用回调方法(ServerCertificateValidationCallback)验证服务器证书

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.