• HTML
  • CSS
  • Linux
  • Perl
  • Windows
  • Hardware
  • OpenSUSE
  • Slackware
  • MySQL
  • Vim
  • JavaScript
  • Network
  • Security
  • Debian
  • PHP
  • MovableType
  • Postfix
  • Lenovo X200S
  • Dovecot
  • BIND
  • Samba
  • Apache
  • MacBook Air
  • SSH
  • Raspberry Pi
  • [Linux] [Slackware] [Dovecot] Dovecot インストール(2) - Slackware 12.1

    前回、Dovecotのインストールが完了したので今度はメーラーでメールの受信を試してみる。

    受信してみたところ、うまく接続できない模様。
    maillogを確認。

    $ tail -f /var/log/maillog
    dovecot: stat(/dev/null/mail) failed: Not a directory
    dovecot: POP3(hogehoge): mail_location: mbox: mkdir(/dev/null/mail) failed: Permission denied (euid=1000(hogehoge) egid=102(hogehoge) missing +x perm: /dev/null)
    dovecot: Fatal: POP3(hogehoge): Namespace initialization failed

    なんのこっちゃ。

    http://www.dovecot.jp/wiki/SystemUsers.txt を読んでみると..

    mbox
    ----

    '/var/mail/username' の mbox はユーザの INBOX と呼ばれます。IMAP プロトコ
    ルでは、複数のメールボックスをサポートしていますので、Dovecot は他のメール
    ボックスを保存するいくつかのディレクトリが必要になります。通常、それは
    '~/mail/' もしくは '~/Mail/' ディレクトリに保存されます。その全ての場所は、
    自動検出を行うメールボックスの場所として含まれています。その場所を手動で指
    定することができます:

    ---%<-------------------------------------------------------------------------
    mail_location = mbox:~/mail:INBOX=/var/mail/%u
    ---%<-------------------------------------------------------------------------

    要するに、dovecotは~/mailを使いますよと。
    考えてみれば、このユーザーのホームディレクトリは不要だと思ってuseraddしたときにホームディレクトリを/dev/nullとして設定してしまったため、maillogに /dev/null/mailというパスを吐いたのだ。

    ユーザーのホームディレクトリを作ったら正常に受信ができるようになった。

    メールサーバに関する書籍