Mailkit 不会作为 Pop3 服务器连接到 gmx.com

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

我正在尝试连接到我为自己设置的 gmx 帐户,但我什至无法通过连接阶段,更不用说身份验证阶段了。

这是代码,简短而贴心:

public ConnectPopClient(string host = "pop.gmx.com", int port = 995,
                        string username = "[email protected]", string password = "password")
{
    using (Pop3Client pop = new Pop3Client(new ProtocolLogger("pop.log"){LogTimestamps = true}))
    {
        try
        {
            pop.Connect(host, port, SecureSocketOptions.None);
            pop.Authenticate(username.Text, password.Password);
        }
        finally
        {
            if(pop.IsConnected)
                pop.Disconnect(true);
        }
    }
}

很明显,我想要的只是代码连接、使用我的凭据登录和断开连接而不抛出任何异常。

日志仅包含以下内容:

2023-03-01T23:19:11Z 连接到 pop://pop.gmx.com:995/

我好像不能包含异常的文本,写得真好,但包含6点,我将在下面回复。

有关可能的解决方案,请参阅https://github.com/jstedfast/MailKit/blob/master/FAQ.md#SslHandshakeException

所以这是我对这些观点的回应。

  1. 服务器正在使用无法验证的自签名证书。

也许?我正在使用 GMX,所以我认为它不会是自签名的。

  1. 本地系统缺少验证服务器证书所需的根证书或中间证书。

这似乎是最有可能的问题,但我该从哪里得到这个呢?我想我会查询服务器,获得公共证书然后安装它。我尝试使用 ServerCertificateValidationCallback 但它从未被调用过。

  1. 链中一个或多个证书的证书颁发机构 CRL 服务器暂时不可用

不太可能

  1. 服务器出示的证书过期或无效

也不太可能,我用的是GMX

  1. 客户端和服务器支持的 SSL/TLS 协议集不匹配。

可能,但我已经使用了 MailKit 支持的每一个,我得到了相同的结果

  1. 您正在尝试连接到不支持 SSL/TLS 的端口。

我可以通过 Thunderbird 连接到这个端口。我假设 Thunderbird 使用 TLS 连接,但我可能会感到惊讶。

这是我没有的东西:

帮助链接

异常消息:

POP3 服务器意外断开连接

c# .net-core mailkit
© www.soinside.com 2019 - 2024. All rights reserved.