web-dev-qa-db-ja.com

Dovecotは/ var / pool / mail / $ userからmail_locationにメールをフェッチしません

メールの送受信時に/ var/log/maillogに表示されるように、メールを/ var/pool/mail/$ userに保存し、stat = Sentとしてログに記録します。

ユーザーがimapを介してメールを送受信しようとすると、〜$ user/mail /に表示されません。

/etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/mail:INBOX=~/mail/.INBOX

-ディレクトリとファイルの許可は正しいです。

[root@mail ~]# ll -d /home/$user/mail
drwx------. 7 $user $user 4096 Oct 25 14:04 /home/$user/mail

/ var/log/maillogにこの問題に関するログはありません。メールファイルをユーザーのメールディレクトリに送信する方法を知りたいのですが。

1
efesaid

私の問題は、INBOXファイルのパスが間違っていたことです。 mail_locationをmaildirからmboxに、INBOXファイルを/ var/pool/mail /%uに変更した後、いくつかのアクセス許可エラーが発生しました。

[root]# vim /etc/dovecot/conf.d/10-mail.conf    
mail_location = mbox:~/:INBOX=/var/spool/mail/%u

エラー:

failed: Operation not permitted (egid=500)

そして、権限を設定します

[root]# chmod 0600 /var/mail*

[root]# service dovecot restart

それはうまくいきます。

0
efesaid

上記のAndrzejのコメントは正しいです。 dovecotが自動的にそれを行うことは想定されていません。 sendmailに、dovecotが期待する場所にメールを配置するように指示する(または、少なくともローカルの配信エージェントにそれを実行するように指示する)か、sendmailが送信する場所にメールを配置するようにdovecotに指示する必要があります。

私の場合、後者を行います。私のdovecot.confには次の行が含まれています

mail_location = mbox:~/:INBOX=/var/spool/mail/%u

編集:ローカルMDAとしてprocmailを使用して、sendmailが私のものと同じように構成されています。 procmailのマニュアルページは、他に何も提供されていない場合、/var/spool/mail/$userがprocmailが受信メールを送信するデフォルトの場所であることを示唆しています。

   /var/spool/mail/$LOGNAME
                          system mailbox; both the system mailbox and the immediate directory it is in will be created  every
                          time procmail starts and either one is not present

繰り返しになりますが、sendmailのMDAであるprocmailを構成して、受信メールを/home/$user/mail/.INBOXに入れるか、dovecotを構成して/var/spool/mail/$userを調べることができます。しかし、あなたはこれらのことの1つをしなければならないでしょう、それは魔法によって起こることはないでしょう。

4
MadHatter

Dovecotと統合するためのSendmailの再構成

http://wiki2.dovecot.org/LDA/Sendmail

既存のOS使用アカウントの配信にdovecotを使用するには、次の行をsendmail,mcファイルに追加することを検討してください[sendmail.mcsendmail.cfにコンパイルする必要があります]

FEATURE(`local_procmail', `/usr/local/libexec/dovecot/dovecot-lda',`/usr/local/libexec/dovecot/dovecot-lda -d $u')
MODIFY_MAILER_FLAGS(`LOCAL', `-f')

その他の可能なsendmail再構成オプション

  • sendmailが1000以上のUIDに対してのみdovecotを使用するようにする
    [システムユーザー/アカウントの定型配信、通常のユーザーの鳩小屋]
  • 既存の仮想dovecotユーザーへのsendmailサポート配信の作成[local_procmailベースの再構成はサポートしていません]
2
AnFi

Dovecot:/ var/mail/usernameのmboxとしてのINBOXと、Maildirの残りのメールボックス

ふるいフィルタリングを気にしない場合は、/ var/mail/usernameを受信トレイとして使用し、ユーザーの残りのmailoxをMaildir形式で保持するようにdovecotを構成できます。

これにより、MTA/sendmailによってデフォルトの場所に配信されるdovecotの「参照」メッセージが作成されます。MTA/ sendmailの再構成は必要ありません。

http://wiki2.dovecot.org/Namespaces#Mixed_mbox_and_Maildir

0
AnFi

編集ファイルが必要です:/ etc/procmailrc

# file: /etc/procmailrc
# system-wide settings for procmail
Shell="/bin/bash"
SENDMAIL="/usr/sbin/sendmail -oi -t"
LOGFILE="/var/log/procmail.log"
DEFAULT="$HOME/Maildir/"
MAILDIR="$HOME/Maildir/"
:0
* ^X-Spam-Status: Yes
.spam/
0
Dmitry