メールサーバを立てる(続き)
設定ファイル(/etc/dovecot/dovecot.conf)の変更
dovecotの設定ファイル(/etc/dovecot/dovecot.conf)を必要最小限変更します。
$ sudo nano /etc/dovecot/dovecot.conf login_greeting = POP3 ready. ← dovecotの隠蔽 protocols = imap imaps pop3 pop3s ← imapかpop3を使う mail_location = maildir:~/Maildir ← Maildir形式のメールボックス disable_plaintext_auth = no ← パスワードを平文で使うため
この『disable_plaintext_auth = no』がないと、メールクライアントで接続したとき、dovecotに『NO Plaintext authentication disallowed on non-secure connections.』(セキュアでない接続からの平文パスワードは許可しません)みたいなエラーを返されます。うちは内部からのアクセスのみなのでこうしておきます。外部に公開するならSSLでセキュアな環境にしましょう。
自動起動の確認
postfixとdovecotが自動起動になっているかどうかを確認する。『chkconfig』に相当するのはUbuntuでは『sysv-rc-conf』らしいので、これをインストールする。
$ sudo apt-get install sysv-rc-conf The following packages were automatically installed and are no longer required: rake rdoc libredcloth-ruby1.8 liberb-ruby libsqlite3-ruby1.8 Use 'apt-get autoremove' to remove them. 以下の特別パッケージがインストールされます: libcurses-perl libcurses-ui-perl 以下のパッケージが新たにインストールされます: libcurses-perl libcurses-ui-perl sysv-rc-conf アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 1 個。 取得:1 http://jp.archive.ubuntu.com gutsy/universe libcurses-perl 1.13-1 [116kB] 取得:2 http://jp.archive.ubuntu.com gutsy/universe libcurses-ui-perl 0.95-6 [242kB] 取得:3 http://jp.archive.ubuntu.com gutsy/universe sysv-rc-conf 0.99-6 [24.2kB] 未選択パッケージ libcurses-perl を選択しています。 (.../libcurses-perl_1.13-1_i386.deb から) libcurses-perl を展開しています... 未選択パッケージ libcurses-ui-perl を選択しています。 (.../libcurses-ui-perl_0.95-6_all.deb から) libcurses-ui-perl を展開しています... 未選択パッケージ sysv-rc-conf を選択しています。 (.../sysv-rc-conf_0.99-6_all.deb から) sysv-rc-conf を展開しています... libcurses-perl (1.13-1) を設定しています ... libcurses-ui-perl (0.95-6) を設定しています ... sysv-rc-conf (0.99-6) を設定しています ...
$ sudo sysv-rc-conf --list postfix postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off $ sudo sysv-rc-conf --list dovecot dovecot 1:off 2:on 3:on 4:on 5:on
いずれもランレベル2から5がonになっています。
メールユーザ
とりあえず、このサーバを使うのは当面自分ひとりなので、Ubuntuの管理者ユーザでメールが使えれば事足りるので、新しいメールユーザの追加は行わないことにします。
ちなみに、受信メールは『/home/xxx/Maildir/new』に1メール1ファイルとして追加されていきます。受信メールはメールクライアントがPOP3(IMAP)で取って消さない限り、ここにずっとあるみたいです。当然ですね。
DNS
メール関係のDNSの設定は終わっているものとします。具体的には /etc/bind/db.internal、db.1.168.192、db.5-55.jpに『IN MX 10 mail.5-55.jp』レコードが追加されているものとします。
接続テスト
さて、まずは、いま使っているプロバイダのメール環境からメールを『xxx@5-555.jp』(SPAM避けでドメイン名をちょっと変更)に送ります。うまくいけば、/home/xxx/Maildir/new に『1208508725.V811I7d4080M221792.hostname』みたいな名前でファイルができるはず。
うまくいったときの /var/log/mail.log の内容はこんな感じです。
postfix/smtpd: connect from exc-mta-pri01.bbexcite.jp[211.132.194.21] ← bbexciteから接続に来ています postfix/smtpd: client=exc-mta-pri01.bbexcite.jp[211.132.194.21] postfix/cleanup: message-id=<20080418022202.BE0B228CED@5-555.jp> postfix/qmgr: from=, size=807, nrcpt=1 (queue active) ← yyy@satake77.comからのメールです postfix/smtpd: disconnect from exc-mta-pri01.bbexcite.jp[211.132.194.21] ← bbexciteとの接続を切りました postfix/local: to= , relay=local, delay=0.09, delays=0.06/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox) postfix/qmgr: removed ← メールを移動しました
エラーがあるときの /var/log/mail.log の内容です。まずは、ここ(→http://www.rbl.jp/svcheck.php)で第三者中継チェックをやったときのものです。SPAMの踏み台にされないためのチェックなので、ちゃんとエラーではじいてくれないと困ります。
postfix/smtpd: connect from www.rbl.jp[218.45.239.250] ← rbl.jpから接続に来ています postfix/smtpd: NOQUEUE: reject: RCPT from www.rbl.jp[218.45.239.250]: 554 5.7.1: Relay access denied; from= to= proto=SMTP helo= postfix/smtpd: too many errors after RCPT from www.rbl.jp[218.45.239.250] ← rbl.jpからたくさんのエラーがありました postfix/smtpd: disconnect from www.rbl.jp[218.45.239.250] ← rbl.jpからの接続を切りました
次は宛先がない場合です。/etc/aliasesだけを編集して newaliasesしていなかったので、ユーザ名がないといって怒られています。
postfix/smtpd: connect from exc-mta-pri01.bbexcite.jp[211.132.194.21] ← bbexciteから接続に来ています postfix/smtpd: client=exc-mta-pri01.bbexcite.jp[211.132.194.21] postfix/cleanup: message-id=<20080418025028.4A7BA28CEF@5-555.jp> postfix/qmgr: from=, size=807, nrcpt=1 (queue active) ← yyy@satake77.comからのメールです postfix/local: warning: database /etc/aliases.db is older than source /etc/aliases ← aliases.dbが古いと怒られてます postfix/local: warning: required alias not found: postmaster ← よりによって postmasterがないと怒られてます postfix/local: to= , relay=local, delay=0.06, delays=0.05/0.01/0/0, dsn=2.0.0, status=sent (discarded) postfix/qmgr: removed ← メールを移動させてくれたようですが、(discarded)なので捨てられたんですかね postfix/smtpd: disconnect from exc-mta-pri01.bbexcite.jp[211.132.194.21] ← bbexciteとの接続を切りました