Postfix+MySQL+Courier-pop&PostfixAdminでメールサーバ
以前はPostfix+Qpopperでメールサーバを構築していたが、マシンが逝ってしまったついでにPostfix+MySQL+Courier-popでサーバを組んでみた。バーチャルドメインのメールアドレス管理が簡単になる、という誘惑もあった。
実際の構築方法は他のサイトに任せる。だってそっちのほうが親切な解説だもん(w
ただ、Courierを単なるpop3サーバとして使うのは邪道らしく、どこを見てもIMAP+SMTP AUTHを組むようなサイトしかない。むー、そこまでは必要ないのに。。
ということで、使えるまでには紆余曲折があったが何とか完了。勘所として
- main.cfの修正だけでなく、master.cfの修正をすること←chroot問題
- LocalユーザーもVirtualユーザーも全てPostfixAdminで一括管理するなら、main.cfのmydestinationは空欄にする。コメントアウトしない。その代わりrootなどシステムユーザーのメールアドレスも新規に作るか転送設定しないといけない。
- PostfixAdminの設定ファイル"config.inc.php"の「$CONF['smtp_server']」は逆引き可能なFQDNを設定すること。そうしないと「smtpd_peer_init: ***.***.***.***: address not listed for hostname ***.omizu.jp」と「450 Client host rejected: cannot find your hostname」のエラーを吐いてメールディレクトリを作成しないし、メールが届かない。
- pop3でログインできない→authmysqlrcの「MYSQL_LOGIN_FIELD」を確認する。phpMyAdminを使ってデータベースの値を確認。"username"だったらログイン名はメールアドレス(**@**.**)となる
- pop3にログインできたけどメールが読めない→authmysqlrcの「MYSQL_NAME_FIELD」や「MYSQL_MAILDIR_FIELD」あたりを疑うべし。
ググって出てきた関連サイトにある各種設定ファイルは、サイト作成者の使いやすいような環境を設定しているので、そのまま使えるかというとそうでもない。
やっぱり設定ファイルの意味を「ある程度」理解して構築しないとハマる可能性が高い。ってゆーかこのあたりはunixもといLinux使いには当然のことなのだが。