我有一个本地 hMailServer 实例,我想连接到它。例如,我已经成功地使用 ImapX 连接到 GMail 或不同的邮件服务器,但是根本无法获得这个简单的本地 hMailServer 的身份验证工作。我现在已经用了大约 2 个小时并尝试了所有方法。
如果我尝试使用与 Thunderbird 相同的帐户登录,一切都很好。当我的应用程序尝试使用 ImapX 登录时,服务器日志显示无效的用户名或密码。 Thunderbird 被配置为非安全连接,使用纯密码,就像 ImapX(我猜)。这是日志,首先是 ImapX,其次是 Thunderbird。
使用 ImapX:
"IMAPD" 3268 3 "2014-12-21 00:32:05.098" "SENT: * OK IMAPrev1"
"IMAPD" 2180 3 "2014-12-21 00:32:05.114" "RECEIVED: IMAPX1 CAPABILITY"
"IMAPD" 2180 3 "2014-12-21 00:32:05.114" "SENT: * CAPABILITY IMAP4 IMAP4rev1 CHILDREN IDLE QUOTA SORT ACL NAMESPACE RIGHTS=texk[nl]IMAPX1 OK CAPABILITY completed"
"IMAPD" 3268 3 "2014-12-21 00:32:05.114" "RECEIVED: IMAPX2 LOGIN "xx@xxxxx.com" ***"
"IMAPD" 3268 3 "2014-12-21 00:32:05.129" "SENT: IMAPX2 NO Invalid user name or password."
使用 Thunderbird:
"IMAPD" 3268 4 "2014-12-21 00:39:50.769" "SENT: * OK IMAPrev1"
"IMAPD" 3268 4 "2014-12-21 00:39:50.769" "RECEIVED: 1 capability"
"IMAPD" 3268 4 "2014-12-21 00:39:50.769" "SENT: * CAPABILITY IMAP4 IMAP4rev1 CHILDREN IDLE QUOTA SORT ACL NAMESPACE RIGHTS=texk[nl]1 OK CAPABILITY completed"
"IMAPD" 3268 4 "2014-12-21 00:39:50.769" "RECEIVED: 3 login "xx@xxxxx.com" ***"
"IMAPD" 3268 4 "2014-12-21 00:39:50.769" "SENT: 3 OK LOGIN completed"
"IMAPD" 3268 4 "2014-12-21 00:39:50.769" "RECEIVED: 4 select "INBOX""
我已经重新检查了几次,发送的密码完全相同,没有拼错之类的。我在日志中看到的唯一区别是字母大小写,但我怀疑这与它有任何关系。
在我的 C# 代码中,我只是调用 _client.Login(userName, password)
,没有什么特别的,没有任何 ImapX 的非默认配置。
有没有人知道是什么原因导致的,或者我还应该在哪里测试或查看?
最佳答案
结果是在发布问题后(像往常一样),在存储在数据库中的密码中,我不小心有一个尾随空格。因为密码已从 hMailServer 日志中删除,所以我无法弄清楚。我在发送登录信息之前调用String.Trim
后,登录成功。
真是个愚蠢的错误,我希望以后有人能从这篇文章中受益。
关于c# - ImapX 无法从我的应用程序登录到本地 hMailServer,但 Thunderbird 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587776/