1. 概要
本サイトでは、メールサーバは、「qmail」を使用しており、「IMAP」には「courier-imap」を使用しています。
「courier-imap」の設定に関して少し・・・。
「courier-imap」は、「pop3」の通信も行えますが、ここでは、「imap」の設定に限定して記述します。
本ページは、下記のサイトを参考にさせていただきました。
「【 Q 】IMAPで接続時にエラーが表示されます。何が原因でしょうか?」
「courier-imap」の設定ファイルは
/usr/local/etc/authlib
/usr/local/etc/courier-imap
という2つのディレクトリにあります。
2. /usr/local/etc/authlib
「/usr/local/etc/authlib」の中は
authdaemonrc
authdaemonrc.dist
という2つのファイルのみで、中身は全く同じものです。
「.dist」は見本で、実際に設定が生きてくるのは「authdaemonrc」の方です。
結局「/usr/ports/mail/courier-authlib-vchkpw」のオプションに左右されるわけです、各バージョンの「qmail」の設定の箇所に書いているのですが、わたしの設定の場合
vi /usr/local/etc/authlib/authdaemonrc
authmodulelist="authuserdb authvchkpw authpam authldap authmysql authpgsql"
##NAME: authmodulelistorig:4
#
# This setting is used by Courier's webadmin module, and should be left
# alone
authmodulelistorig="authuserdb authvchkpw authpam authldap authmysql authpgsql"
27、34行を下記のように書き換えることになります。
authmodulelist="authvchkpw authpam"
##NAME: authmodulelistorig:4
#
# This setting is used by Courier's webadmin module, and should be left
# alone
authmodulelistorig="authvchkpw authpam"
3. /usr/local/etc/courier-imap
「/usr/local/etc/courier-imap」の中は
あれ、動いていない・・・。
起動してやれと。
/usr/local/etc/courier-imap/
|-- imapaccess
|-- imapd
|-- imapd-ssl
|-- imapd-ssl.dist
|-- imapd.cnf.dist
|-- imapd.dist
|-- pop3d
|-- pop3d-ssl
|-- pop3d-ssl.dist
|-- pop3d.cnf.dist
|-- pop3d.dist
|-- quotawarnmsg.example
|-- shared
`-- shared.tmp
てな構成になっております。
拡張子「.dist」がつくものと、つかないものは、見本と実物であるという点で、前項と同様です。
バージョンアップによって、内容がかわったりしますが、通常は、次項のもの以外はさわることがないかと思います。
4. 同一 IP からの同時接続数
ひとつのメールクライアントで、複数のアカウントを管理しているとき、同じメールサーバに接続しようとすると、接続エラーが発生することがあります。
こういうときは
/usr/local/etc/courier-imap/imapd
/usr/local/etc/courier-imap/imapd-ssl
をさわります。
上が、プレーンな「IMAP」用で、下が「SSL」接続の「IMAP」用です。
結構中身が違うので、それぞれいじります。
vi /usr/local/etc/courier-imap/imapd
##NAME: MAXPERIP:0
#
# Maximum number of connections to accept from the same IP address
MAXPERIP=4
60行目の「MAXPERIP」が、同一「IP」からの同時接続最大数を定義しています。
「Max Per IP」ですな。
デフォルトは、4 ですが、これを適切な値にしてやることで、接続エラーが解消することがあります。
では「SSL」の方。
vi /usr/local/etc/courier-imap/imapd-ssl
こちらは、そもそも定義がない。
う~ん、仕組みを理解していないので不安なのですが、「imapd」と同様の行を追加してやるしかないのかな。
# That's the SSL IMAP port we'll listen on.
# Feel free to redefine MAXDAEMONS, TCPDOPTS, and MAXPERIP.
実際、上記を行って、サービスを再起動すると現象が解消しました。