すべてのカテゴリ » インターネット・パソコン » ソフトウェア » 使い方・不具合

質問

終了

Fedora 8 でメールサーバーを動かそうとしています。
サーバーはPostfix とDovecot を使用しています。

以前別のマシンでsendmailを使用していたので、spoolは/var/spool/mail/ディレクトリにたまっています。(コピーして引っ越しました)

pop3はとりあえずplaneで認証するように設定したつもりです。

現在クライアントPCからPOPでメールを読もうとしていますが、メールクライアントのエラー表示が下記のように出てうまくいきません。

---
サーバーは接続を解除しました。サーバーまたはネットワークに問題があるか、またはアイドル時間が長すぎた可能性があります。 アカウント: 'username', サーバー: 'mail.domainname.jp', プロトコル: POP3, ポート: 110, セキュリティ (SSL): なし, エラー番号: 0x800CCC0F
---

そこで、クライアントPCから

telnet mail.domainname.jp 110

としてみるとうまく接続ができ、アカウント名でのログインもOKでした。

以上のことからDovecot は起動していて、Port 110(pop3)も開いていて、ログインもできるようになっているが、/etc/spool/mail/内のメールスプールをpop3で取ってくることができていない。というように思えます。

これから私はどこを確認すればよいのでしょうか?

以上、よろしくお願いいたします。

===補足===
これまでに回答いただいたものを元に調べました。

/var/spool/mail/ 内のメールスプールのownerは各ユーザ、group が mail になっていて、各ファイルとも rw-rw---- になっていることを確認しました。

dovecot.conf の設定で、
mail_location=
はdovecot.conf内の英文を読む限り指定しなくても/var/spool/mail/内のspoolは読めそうだったので指定していません。

さらにクライアントPCから

telnet mail.domainname.jp 110

としてみるとうまく接続ができ、アカウント名でのログインもOKでした。
LISTコマンドも正常に動作して、メール番号と容量が表示できました。
RETR コマンドでメールの内容の表示も出来ました。

/var/log/maillog を確認するとMbox がクリエイトできないないというメッセージがありました。

これが原因のようです。

  • 質問者:教えてください
  • 質問日時:2009-04-10 12:19:24
  • 0

回答してくれたみんなへのお礼

sendmailでは各ユーザーのホームディレクトリが無くてもメールの送受信が出来たのですが、Dovecot では/home/username/mail/ 内に一時ファイルを作ってpop3動作をさせるようです。

/home/username/mail/を作成したことにより動作するようになりました。

いろいろなヒントをくださってありがとうございました。

まずは、/var/log/maillog の確認です。Dovecot が何かエラーを吐き出していないかを確認してください。

ありがちなのは、メールボックスのアクセス権の問題です。ログインユーザから読み書き可能になっているか確認してください。ファイルのオーナーが間違っていないか、といったあたりです。

もうひとつ考えられるのは メールボックスの形式の違いです。

sendmail を使っていたのでしたら、/var/spool/mail 以下にあるメールボックスの形式は mbox 形式と呼ばれるもので、1ユーザ=1ファイルになっていると思います。

Dovecot は mbox 形式のほかに maildir 形式(1メール=1ファイル)をサポートしていて、確か、後者がデフォルトのはずです。Dovecot で mbox 形式のメールボックスを読み出せるようにするには、下記のサイトの設定が参考になると思います。

http://www.tatsuyoshi.net/toyota/dovecot/BasicInstall.html

上記サイトの「メールの場所」のセクションに、メールボックスの指定の例があります。

で、既存のものを Dovecot で読むためには、このようなメールボックスの指定で回避できると思いますが、問題は Postfix と認識を合わせている必要があります。Postfix も mbox 形式で配送するのか、maildir 形式で配送するのか、という選択肢があります。

main.cf の home_mailbox が肝になりますが、ちょっとトリッキーで、下記のサイトが参考になると思います。

http://kajuhome.com/patio_thread/1194.shtml

Fedora のデフォルトがどっちにあわせているかが分からないのですが、もし、maildir 形式に合わせた設定がなされていれば、postfix 側の変更も必要になります。

...となると、あれこれ面倒な可能性もあるので、いっそのこと mbox 形式のファイルを maildir 形式に変換してしまうのもひとつの手です。下記のサイトが参考になると思います。

http://centossrv.com/migrate_to_maildir.shtml

せっかく Dovecot なんかだら、IMAP を使えるようにして、mbox 形式をインポートできるメールソフトで読み込んでから、IMAP 経由でサーバに保存、ということも可能だと思います。

  • 回答者:JULY (質問から52分後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

logを確認することが大切ですね。

冷静なご指定ありがとうございました。

並び替え:

Fedraで動かしたことはないので正確な場所はわかりませんが、/etc/dovecot/ などに
dovecot.conf があると思います。その設定で、
mail_location=
の設定を確認しましょう。spool の位置が指定されています。この設定がずれていると、
メールファイルが読めないという現象になるでしょう。

そのほか、この設定ファイル内の内容を確認してみてはいかがでしょうか。

===補足===
もう一つ気がついた点を書いておきます。

メールのspoolディレクト以下ファイルは、別のマシンからコピーした
ということですが、ファイルのパーミッションも確認済みでしょうか。
ownerは各ユーザ、group が mail になっていて、各ファイルとも
rw-rw---- である必要があります。

telnet で pop3 接続ができているので、dovecot のpop3設定については
おそらく問題はないと思います。

  • 回答者:おん (質問から41分後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

適切なご指摘ありがとうございました。

1つづつチェックすることで、動作確認が進みました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る