メールの送受信時に/ 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にこの問題に関するログはありません。メールファイルをユーザーのメールディレクトリに送信する方法を知りたいのですが。
私の問題は、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
それはうまくいきます。
上記の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つをしなければならないでしょう、それは魔法によって起こることはないでしょう。
既存のOS使用アカウントの配信にdovecotを使用するには、次の行をsendmail,mc
ファイルに追加することを検討してください[sendmail.mc
はsendmail.cf
にコンパイルする必要があります]
FEATURE(`local_procmail', `/usr/local/libexec/dovecot/dovecot-lda',`/usr/local/libexec/dovecot/dovecot-lda -d $u')
MODIFY_MAILER_FLAGS(`LOCAL', `-f')
ふるいフィルタリングを気にしない場合は、/ var/mail/usernameを受信トレイとして使用し、ユーザーの残りのmailoxをMaildir形式で保持するようにdovecotを構成できます。
これにより、MTA/sendmailによってデフォルトの場所に配信されるdovecotの「参照」メッセージが作成されます。MTA/ sendmailの再構成は必要ありません。
編集ファイルが必要です:/ 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/