我已成功安装 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格式