我正在尝试在C#中实现POP3客户端,并且使用AUTH PLAIN进行的身份验证使我丧命。我正在使用pop3.live.com上的帐户进行测试,但是无法通过身份验证。我尝试通过SSL通过端口995和常规110进行连接(然后切换到TLS),但无法进行身份验证。

我正在使用TcpClient类建立连接并从服务器获取+ OK响应。当进行非SSL连接时,我可以使用CAPA命令检查功能,并获取响应STLS。因此,我发送了命令STLS,切换到SslStream,发送了另一个CAPA命令来检查身份验证机制,并获得支持SASL PLAIN的功能(该连接不在常规连接中)。

现在,我不知道要用AUTH PLAIN发送什么-我尝试发送base64“ account \ [email protected] \ 0password”,“ \ [email protected] \ 0password”,“ \ 0account \ 0password” ..所有可能的组合,但是在发送与AUTH PLAIN一致的凭据时会收到“协议错误”,或者在发送AUTH PLAIN之后发送凭据时会出现“未经授权...”(按预期返回“ +”)。

我想念什么吗?谁能提供使用SSL / TLS时如何进行身份验证的示例?

谢谢!

最佳答案

您需要使用“ \ [email protected] \ 0密码”

09-05 12:25