概要
- Linuxメール用サーバーの移行作業をしています。
- ドメインのDNS設定を移行先サーバーのIPに変更したところ、特定のユーザーに対して送ったメールが受け取れなくなりました。
ソフトウェア
- 旧サーバー: Red Hat Enterprise Linux Server release 5.3 (Tikanga)
- 移行先サーバー: CentOS release 6.6
- Postfix mail_version = 2.6.6
確認したこと
- メールを受け取れない特定のユーザーを仮に
hogeとします。 - 移行先サーバーの
/home/hoge/Maildir/newにはメールが届いていませんでした。 - その他のユーザー、
/home/fuga/Maildir/new等にはメールが届いていました。 - メールの送信元にMAILER-DAEMONからの返信はなく、メールの送信自体は成功しているようです。
- 移行先サーバーには、移行のために、旧サーバーでメールを受け取っていたユーザーと同名のユーザーを新規作成したのですが、
hogeについては移行先サーバーに既に同名のユーザーがいたので、そのままにしていました。 - 上記のことが原因かと疑い、移行先サーバーの
hogeを# userdel -rで削除したうえで# useraddで同名のユーザーを新規作成したのですが、同様でした。 - ドメインのDNS設定を旧サーバーのIPに戻すと、再び旧サーバーの方でメールが受け取れるようになりました。
確認したこと・追記
追記・修正の依頼を基にさらに確認を行いました。
移行先サーバーのhogeに関するログを調査
grep hoge /var/log/maillog
hogeに関するログは一行も引っかかりませんでした。
メール送信側のログを調査
- 実行中
ローカルでメールを送信
- メールを受け取れない特定のユーザー
hogeその他のユーザーfugaいずれにもメールを送ることができませんでした。 /var/log/maillogには以下のように記録されていました。
status=bounced (can't create user output file. Command output: procmail: Couldn't create "/var/spool/mail/nobody" procmail: Unable to treat as directory "//Maildir" procmail: Lock failure on "//Maildir.lock" procmail: Error while writing to "//Maildir" )
知りたいこと
- 以上の現象で、何が起こっている可能性があるのか、確認すべき事項は何かが知りたいです。
移行先サーバの hoge に関する maillog を提示してください。
grep hoge /var/log/maillog
hogeに関するログは一行も入っていませんでした。他ユーザーに関するログは正常に記録されているようでした。
メール送信側のlogはありますか?そこではどこのサーバと会話してますか?
Postfixとdovecotは同一のサーバで稼働してますか?
syslogには何か書いてませんか?
ローカルでメールすると届くでしょうか?
ローカルでメールを送ることは、hoge宛てにもfuga宛てにもできませんでした。
ログには以下のように記録されていました。
status=bounced (can't create user output file. Command output: procmail: Couldn't create "/var/spool/mail/nobody" procmail: Unable to treat as directory "//Maildir" procmail: Lock failure on "//Maildir.lock" procmail: Error while writing to "//Maildir" )
提示されているそぐのメッセージは、procmail のエラーのようですが、procmail で配送等をされているのでしょうか?
.forward にユーザーが何か設定していたりしますか?
procmailというソフトの存在すら知らなかったのですが、確かにインストールされていました。
ホームディレクトリ内(/home 及び各ユーザーのディレクトリ)には設定ファイルの類は存在しませんでした。
/etc/procmailrc という設定ファイルらしきものがあり、以下のように記述されていました。
DEFAULT=$HOME/Maildir/ # enable maildir delivery
DROPPRIVS=yes # run SpamAssassin without root privilege
INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc # use SpamAssassin
特別な転送ルールは設定されていないのではないかと思われます。