使用 IMAP 进行 Horde Kronolith 身份验证

使用 IMAP 进行 Horde Kronolith 身份验证

我已经设置了 Horde Groupware Webmail Edition 服务器,主要用于使用 Webmail(由托管提供商提供)和日历(由我们提供)。身份验证是通过 IMP(Webmail)组件使用 IMAP 身份验证设置的:

主要部落config/conf.php

$conf['auth']['params']['app'] = 'imp';
$conf['auth']['driver'] = 'application';

进口商config/backends.local.php

$servers['imap']['hostspec'] = 'sub5.mail.dreamhost.com';
$servers['imap']['hordeauth'] = 'full';
// ... (port, secure, etc.)

这成功地通过 DreamHost 的 IMAP 服务器验证了用户身份,因此他们可以登录 Horde。通过 IMP 登录后,他们还可以访问 Kronolith(日历组件)。

我现在正在尝试为日历设置 CalDAV 支持,但无法使身份验证正常工作。作为一个简单的测试,我从 Horde 中获取了如下所示的日历 URL -- -- 然后我尝试使用 CURL(带选项)来检索日历。Horde 返回以下响应:https://horde.example.com/rpc.php/calendars/[email protected]/calendar~CALENDAR_ID/-u username:password

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
  <s:message>Username or password does not match</s:message>
  <s:sabredav-version>1.8.12</s:sabredav-version>
</d:error>

有没有办法让 Horde 使用 IMAP 登录来访问 CalDAV 中的日历,就像它在 Web 界面上工作一样?

答案1

最后,我不得不切换主要的 Horde 身份验证以直接使用 IMAP,而不是将其传回 IMP。

以下是我添加的内容conf.local.php

$conf['auth']['driver'] = 'imap';
$conf['auth']['params']['hostspec'] = 'sub5.mail.dreamhost.com';
$conf['auth']['params']['port'] = 143;
$conf['auth']['params']['secure'] = 'tls';
$conf['auth']['params']['hordeauth'] = 'full';

我不知道最后一行是否真的需要,但是用户正在等待,所以我没有尝试进行实验。

相关内容