带有 sendmail 设置的 Courier-imap:为什么我的 IMAP 收件箱是空的?

带有 sendmail 设置的 Courier-imap:为什么我的 IMAP 收件箱是空的?

我已成功安装 sendmail,但当我通过 Outlook 连接到 Courier IMAP 服务器时,收件箱显示为空。当我在服务器上本地使用 Alpine 检查收件箱时,它有内容。为什么?我确实在 /var/mail 中看到了包含内容的文件。这不是 Courier-imap 检查邮件的地方吗?

设置非常干净 - 我在 AWS 上运行 Ubuntu 12.04,安装了 sendmail 和 courier-imap。 sendmail 已配置,sendmailconfigure并且它可以很好地发送和接收邮件。问题出在快递上。

答案1

Courier更喜欢qmail风格邮件目录s 1,sendmail 不会过多参与本地投递,它将其交给local邮件程序定义的外部程序,例如:

$ grep ^Mlocal /etc/mail/sendmail.cf
Mlocal,         P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,

默认LDA(当地送货代理)对于这个系统来说是procmail,所以:

$ procmail -v
[...]
Default rcfile:         $HOME/.procmailrc
    It may be writable by your primary group
Your system mailbox:    /var/mail/root

如果您将 Courier 指向某个mbox文件,它将回退到 mbox 支持procmail,默认为 mbox 文件,但应该支持 maildirs,但(据我所知)不会遵守 maildir++ 配额。

Alpine 可能使用$MAIL中的默认 mbox 文件/var/mail或类似文件,即 sendmail 发送到的位置(通过 procmail),但不是 Courier 正在查找的位置。

为了解决您的问题:

  • 识别您当地的邮寄者
  • 如果不是快递的maildrop,请将其扔掉并使用maildrop
  • 确保您的maildrop递送到 Courier IMAP 正在寻找的同一个地方(这取决于您的 userdb 或 LDAP 或 SQL 配置)

sendmail.mc要将 sendmail 配置为使用 maildrop,请将其(可能)放在并重建的末尾sendmail.cf

FEATURE(`local_procmail', `/usr/local/bin/maildrop', `maildrop -d $u')

1更准确的Maildir++风格,一种扩展的Maildir格式

相关内容