Ubuntu

Courier IMAP 找不到我的 Maildir 但可以找到 root 的 Maildir

  • August 27, 2013

我在乾淨的 Ubuntu 13.04 安裝上設置 Postfix 和 Courier IMAP 時遇到了一個奇怪的問題。我正在使用本教程,目前正在測試 Courier IMAP

當我嘗試使用 root 登錄時,一切都很好(這是 netcat 連接的一部分):

a login root my-pass
a OK LOGIN Ok.
a logout
* BYE Courier-IMAP server shutting down
a OK LOGOUT completed

但是,當我嘗試使用自己的帳戶登錄時,出現錯誤:

a login camilstaps my-other-pass
* BYE [ALERT] Fatal error: No such file or directory: No such file or directory

郵件日誌:

Jun  2 13:47:37 cs imapd: Connection, ip=[::ffff:127.0.0.1] # this is the root login
Jun  2 13:47:51 cs imapd: LOGIN, user=root, ip=[::ffff:127.0.0.1], port=[54630], protocol=IMAP
Jun  2 13:48:11 cs imapd: LOGOUT, user=root, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=9, sent=80, time=20
Jun  2 13:50:59 cs imapd: Connection, ip=[::ffff:127.0.0.1] # this is the other login
Jun  2 13:51:07 cs imapd: chdir Maildir: No such file or directory
Jun  2 13:51:07 cs imapd: camilstaps: No such file or directory

而mail.err,並沒有真正添加一些東西:

Jun  2 13:51:07 cs imapd: camilstaps: No such file or directory

我將 Postfix 配置為使用使用者名/var/mail/%uwhere的 Maildir 格式%u。起初,我以為 camilstaps 使用者錯過了他的郵件文件夾。但是,它確實有一個類似於 root 的:

root@cs:/# tree -CdA /var/mail
/var/mail
├── camilstaps
│   └── Maildir
│       ├── cur
│       ├── new
│       └── tmp
└── root
   └── Maildir
       ├── cur
       ├── new
       └── tmp

然後我認為 camilstaps 使用者在 MAIL 常量中有不同的 maildir,但是……

root@cs:/# echo $MAIL
/var/mail/root
camilstaps@cs:/$ echo $MAIL
/var/mail/camilstaps

這裡發生了什麼?我怎樣才能解決這個問題?

對於它的價值,我在 Ubuntu Server 13.04 上。


在評論的幫助下,我發現了一些有趣/可能有用的東西:

  • 中有一個舊的 Maildir /root。當我刪除那個時,我在以 root 身份登錄到 IMAP 伺服器時遇到同樣的錯誤。
  • 當我將 Maildir 目錄添加到 camilstaps 使用者的主目錄時,我不再收到錯誤消息。

出於某種原因,IMAP 伺服器不在/var/mail/%u( %u= username) 中查找,而是在%h/Maildir( %h= homedir) 中查找。$MAIL變數已正確設置,那麼這裡可能是什麼問題?

Courier IMAP 的架構似乎不支持$HOME.

引用自:https://unix.stackexchange.com/questions/77943