c# - ImapX 无法从我的应用程序登录到本地 hMailServer,但 Thunderbird 可以

标签 c# imap hmail-server imapx

我有一个本地 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/

相关文章:

php - 使用 PHP imap 连接 HmailServer

c# - 第二个 for 循环没有在我的更新中运行

Java 浮点文字与 C#

delphi - 将 ssl 处理程序加载到 Indy 中的 Imap 服务器时发生访问冲突

php - PHP中使用IMAP()获取近期未读邮件数

php - 使用 PHP 获取未读邮件数

php - 我不断在 hMailServer 和 XAMPP 的 PHPWebAdmin 页面中获取 "Fatal Error: Class COM not found"

Javamail - 将邮件从本地主机发送到外部帐户

c# - 在我自己的登录表单中使用 Windows 身份验证

c# - 将依赖属性绑定(bind)到当前 DataContext 属性