使用Mailkit连接到Pop3服务器时,每隔一次连接就会失败

时间:2019-07-14 14:23:02

标签: ssl pop3 mailkit

我正在尝试编写一些代码来检索使用pop3托管在第三方电子邮件提供商托管的Mailkit (version 2.1.0.3)邮箱中的电子邮件。尝试连接到邮件服务器时,连接每隔一次失败,并显示以下错误:

  

”尝试建立SSL或TLS时发生错误   连接。”

有内部例外情况

  

“身份验证失败,因为远程方已关闭传输流。”

因此,上面的第一次尝试代码成功,而第二次尝试失败,并出现上述错误。这确实发生了,并且在我第二次尝试时总是失败。这使我相信终止连接有问题。

这是我用来建立连接的代码。

using (var client = new Pop3Client())
{
    await client.ConnectAsync("pop3.**.nl", 995, true); // FAILS HERE

    await client.AuthenticateAsync("**username**", "**password**");

    for (int i = 0; i < client.Count; i++)
    {
    ...
    }

    await client.DeleteAllMessagesAsync();
    await client.DisconnectAsync(true);
}

我已经尝试使用以下功能解决问题,但是这些功能都无济于事。但是,将SSL协议更改为版本SSL3和SSL2会导致该错误在每次尝试连接时出现,而不是在其他所有尝试时出现。

client.ServerCertificateValidationCallback += (e, r, t, y) => true;
client.SslProtocols = SslProtocols.Tls12;
client.CheckCertificateRevocation = false;

0 个答案:

没有答案