gpt4 book ai didi

delphi - 我应该期望 Indy Imap SASL 连接正常工作吗?

转载 作者:行者123 更新时间:2023-12-03 14:53:39 26 4
gpt4 key购买 nike

在我的电子邮件检查器中,我支持 POP3 SSL 和 IMAP SSL。虽然使用 SASL 的 Pop3 SSL 已经工作了一段时间,但我从未让使用 SASL 的 IMAP SSL 工作,尽管 POP3 和 IMAP 之间的 SASL 代码应该非常相似。我的理解是,我不应该指望它能够工作,直到 this issue已修复。好吧,这个问题已经解决了,所以我想我应该再考虑一下让 SASL 适用于 IMAP。我已经更新并重建了 Indy,并取消了所有 SASL 代码的注释,现在我发现当我发出 Login 命令时,我在 IdIMAP4 中遇到读取超时(即使超时设置为足够长的时间(在大约 20-30 秒),大约比使用 SASL 在 POP3 上进行身份验证所需的时间长 5 倍。

单步执行调试器中的代码,导致读取超时的行似乎位于函数 function PerformSASLLogin_IMAP(ASASL: TIdSASL; AEncoder: TIdEncoder; 中。第 1358 行:

AClient.SendCmd(AClient.NewCmdCounter, 'AUTHENTICATE ' + String(ASASL.ServiceName), [], True); {Do not Localize} 

考虑到整个方法在该错误报告中指出的修订中是新的,我很确定我已经成功更新了 Indy,并且我设置 SASL 机制等的逻辑与 POP3 的逻辑非常相似(除了例如使用 IMAP AuthType iatSASL 而不是 Pop3 AuthType patSASL)。那么为什么我会在这里遇到读取超时呢?我如何排除是我的代码还是 Indy 无法正常工作?如果我将 IMAP.AuthType 更改为 iatUserPass 或 DEF_IMAP4_AUTH 连接成功。我似乎无法找到关于我是否应该期望 SASL 和 IMAP 现在可以工作的最新信息,除了错误报告已修复的提示之外。

编辑:根据 Remy 在回复中提出的问题,这里是当我将它设置为与 SASL 连接而不使用 SSL 时,wireshark 捕获的 TCP session :

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.C1 CAPABILITY* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA STARTTLS AUTH=PLAIN AUTH=LOGINC1 OK Capability completed.C2 AUTHENTICATE PLAIN+ C3 LOGOUTC2 NO [ALERT] Invalid base64 data in continued response

最佳答案

AFAIK,TIdIMAP SASL 现在工作正常(考虑到我是实现它的人)。我无法访问任何使用 SASL 的 IMAP 服务器,因此我无法亲自测试它,但这是我在过去几个月里第一次听说修复的实现存在任何问题。

但是,如果没有看到实际的套接字流量,就无法知道服务器是否正在发送任何回复,或者 TIdIMAP 是否只是没有正确读取回复。您能提供命令/响应的实际日志吗?使用数据包嗅探器(如 Wireshark),或将 Indy 自己的 TIdLog... 组件之一附加到 TIdIMAP.Intercept 属性。

更新:这是 TIdIMAP4.GetInternalResponse() 中的错误。它没有正确处理 + 行。我已经 checkin 了对 Indy SVN 的修复。

关于delphi - 我应该期望 Indy Imap SASL 连接正常工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com