FreeBSD 14.0 RELEASE - qmail - インストール直後の設定
1. メールサーバ用証明書作成 「メールサーバ」の「証明書を使用する」の項を参考にして、証明書を作成しておきます。 2. コントロールファイルの作成・alias の設定 自分のホスト情報その他を「qmail」に教えるために、いくつかのファイルを作成します。 詳細は、「メールサーバ - /var/qmail 配下の設定」をご参照いただくとして。 ドメイン名が「vm.sing.ne.jp」、サーバのホスト名が「」、管理者のメールアドレスが「hogehoge@vm.sing.ne.jp」とすれば、下記で一発です。 「root」ユーザ権限で。 sh cat << 'EOF' >> /var/qmail/control/defaultdomain vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/control/locals localhost.vm.sing.ne.jp ns.vm.sing.ne.jp vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/control/me ns.vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/control/plusdomain ne.jp EOF cat << 'EOF' >> /var/qmail/control/rcphosts localhost.vm.sing.ne.jp ns.vm.sing.ne.jp vm.sing.ne.jp EOF cat - << 'EOF' >> /var/qmail/control/doublebounceto doublebounceto EOF cat << 'EOF' >> /var/qmail/alias/.qmail-doublebounceto # EOF cat << 'EOF' >> /var/qmail/alias/.qmail-mailer-daemon hogehoge@vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/alias/.qmail-postmaster hogehoge@vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/alias/.qmail-root hogehoge@vm.sing.ne.jp EOF exit コピーして、ドメイン名、ホスト名、管理者のメールアドレスを書きかえれば、使えるかと思います。 「mailer-daemon」「postmaster」「root」のアドレスを使い分ける場合は、それぞれ別途記述済します。 3. Maildir の作成 「sendmail」では、メールは、「/var/spool/mail/user」というディレクトリにためられますが、「qmail」では、「~user/Maildir/」というユーザ個々のディレクトリにためられます。 まず、ひな形を、「/usr/share/skel/」に作っておきます。 「root」ユーザ権限で。 /var/qmail/bin/maildirmake /usr/share/skel/Maildir sh cat << 'EOF' >> /usr/share/skel/dot.qmail | /var/qmail/bin/preline /usr/local/bin/procmail ./.procmailrc EOF cat << 'EOF' >> /usr/share/skel/dot.procmailrc PATH=/usr/bin:/usr/local/bin MAILDIR=\$HOME/Maildir/ DEFAULT=\$MAILDIR EOF exit これで、これ以降作成する、ユーザには $HOME/Maildir というディレクトリと $HOME/.qmail $HOME/.procmailrc という2つのファイルが作成されます。 既存のユーザにこれを反映するには、ログインユーザで、下記のコマンドを実行します。 /var/qmail/bin/maildirmake ~/Maildir cp /usr/share/skel/dot.qmail ~/.qmail cp /usr/share/skel/dot.procmailrc ~/.procmailrc 4. 不正中継させないための設定 不正中継させないためには以下のような設定を行います。 不正中継されると SPAM メールの中継地点として利用され、多くの人々に迷惑をかけてしまいます。その上、MAPS、RBL/ORB UK という2つの SPAM メールデータベースに登録されてしまうと、こちらから送信するメールを誰も受取ってくれなくなる恐れがあります。 「tcpserver」は、前頁までの手順でインストールしています。 通常は、「/etc」ディレクトリに「tcp.smtp」というファイルを作成するようですが。 わたしは、「/etc」直下のファイルが多くなるのを避けたいので、もう一段階、ネストを下げています。 以下、「root」ユーザ権限で。 ディレクトリを作成して mkdir -pv /etc/tcp ファイルを作成・編集します。 vi /etc/tcp/tcp.smtp グローバルネットワークアドレスを仮に 192.168.100.0/29 とします。 127.:allow,RELAYCLIENT="" 192.168.0.:allow,RELAYCLIENT="" 192.168.100.0-8:allow,RELAYCLIENT="" 1行目は、ループバックアドレスです。「127.*.*.*」のアドレスから、メール中継させるという意味です。 2行目は、ローカルアドレスです。「192.168.0.*」のアドレスから、メール中継させるという意味です。 3行目は、グローバルアドレスです。「192.168.100.0」から「192.168.100.8」までのアドレスからメール中継させるという意味です。 他にも、安全が確認できて、どうしても中継させたいアドレスがあれば、上記の表記方法を応用して、記述してください。 先頭行に「#」を使うとコメント行として使えますので、中継アドレスが多ければ、忘れないように、コメントしておきましょう。もし、中継させないようになったらすぐ消せるようなコメントを書いておきましょう。 「tcp.smtp」の編集が終わったら、次のコマンドでデータベースを作成します。 tcprules /etc/tcp/tcp.smtp.cdb /etc/tcp/tcp.smtp.tmp < /etc/tcp/tcp.smtp 「/etc/tcp/tcp.smtp」を編集しなおす機会があったら、毎回このコマンドを実行してください。 ただし、次節で説明するブートスクリプトを使用するのであれば、起動時に毎回このコマンドを実行しますので、「tcp.smtp」の編集だけで問題ありません。 「qmail-queue」の設定を後で行います。このとき「/etc/tcp/tcp.smtp」を更新しますので注意してください。
sh cat << 'EOF' >> /var/qmail/control/defaultdomain vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/control/locals localhost.vm.sing.ne.jp ns.vm.sing.ne.jp vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/control/me ns.vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/control/plusdomain ne.jp EOF cat << 'EOF' >> /var/qmail/control/rcphosts localhost.vm.sing.ne.jp ns.vm.sing.ne.jp vm.sing.ne.jp EOF cat - << 'EOF' >> /var/qmail/control/doublebounceto doublebounceto EOF cat << 'EOF' >> /var/qmail/alias/.qmail-doublebounceto # EOF cat << 'EOF' >> /var/qmail/alias/.qmail-mailer-daemon hogehoge@vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/alias/.qmail-postmaster hogehoge@vm.sing.ne.jp EOF cat << 'EOF' >> /var/qmail/alias/.qmail-root hogehoge@vm.sing.ne.jp EOF exit
/var/qmail/bin/maildirmake /usr/share/skel/Maildir sh cat << 'EOF' >> /usr/share/skel/dot.qmail | /var/qmail/bin/preline /usr/local/bin/procmail ./.procmailrc EOF cat << 'EOF' >> /usr/share/skel/dot.procmailrc PATH=/usr/bin:/usr/local/bin MAILDIR=\$HOME/Maildir/ DEFAULT=\$MAILDIR EOF exit
$HOME/Maildir
$HOME/.qmail $HOME/.procmailrc
/var/qmail/bin/maildirmake ~/Maildir cp /usr/share/skel/dot.qmail ~/.qmail cp /usr/share/skel/dot.procmailrc ~/.procmailrc
mkdir -pv /etc/tcp
vi /etc/tcp/tcp.smtp
127.:allow,RELAYCLIENT="" 192.168.0.:allow,RELAYCLIENT="" 192.168.100.0-8:allow,RELAYCLIENT=""
tcprules /etc/tcp/tcp.smtp.cdb /etc/tcp/tcp.smtp.tmp < /etc/tcp/tcp.smtp