Postfixをインストールする †いままで、Qmailを使っていたのだが、Postfixを使ってみたくなり、ちくちくとインストールをしていた。 インストールの方法は... と、サーバを低消費電力がうたい文句のATOM君に換えたので再々...インストール(何回目だろう(T_T; 基本的にはportinstallを使ってインストールした。 sendmailの停止とpostfixの起動をrc.confに記述 # # sendmail stop # sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" # # postfix # postfix_enable="YES" postgrey_enable="YES" スペースで失敗したのね。SMTP_AUTH with Cyrus SASL †
スペースを取り去ることによってPostfixが上手く動作し始めたようなので次は、 POPサーバだ!Dovecot †と思って、Postfixと相性が良さそうなPOPサーバを探していたところ、どうもDovecotが良いようなのでこれをインストールする。 telnet localhost 110 で確認してみると > telnet localhost 110 Trying 127.0.0.1... Connected to localhost.foo.net. Escape character is '^]'. +OK Dovecot ready. USER リアルユーザ +OK PASS リアルユーザパスワード +OK Logged in. quit +OK Logging out. Connection closed by foreign host. > 動作しているみたい。 さて、やりたいことは、バーチャルドメインとバーチャルユーザを管理したいわけで、いちいちリアルユーザを登録するのは面倒。
というわけでサバカン日記+さんの設定を真似っこしながら設定をしていくことにする。 まだできてない(T_T); バーチャルドメインとバーチャルメールボックス †一つのホストで複数のドメインを管理する「バーチャルドメイン」とホストに実ユーザが存在しなくてもメールを受け取れるバーチャルメールボックスを設定したい。結構オプションがあるのでとりあえず列記してみる。
virtual_aliasとvirtual_mailboxがvirtualという項目で説明されているので、なんとんく混乱していた。 virtual_mailboxの設定 †何を決めなくちゃいけないか?どこに設定しなくちゃいけないか?が整理されていなかったらしい>自分
virtual_mailbox_domains = DOMAIN1.com, DOMAIN2.net virtual_mailbox_base = /usr/local/vmail virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual_mailbox virtual_gid_maps = static:5000 virtual_uid_maps = static:5000 でもって/usr/local/etc/postfix/virtual_mailboxは webmaster@DOMAIN1.com <-TAB-> DOMAIN1/webmaster/ user@DOMAIN1.com <-TAB-> DOMAIN1/user/ webmaster@DOMAIN2.net <-TAB-> DOMAIN2/webmaster/ となるのかな。 そのあと、 # postmap /usr/local/etc/postfix/virtual_mailbox としてhash形式のデータベースに変換する。 SPAMメール対策ツール Postgrey †スパムメール対策としてPostgrey (Postfix Greylistig Policy Server)日本語ポータルを参考にPostgreyをインストールした。 インストールは至って簡単(といってもソースからインストールした訳ではなくports) # cd /usr/ports # portinstall mail/postgrey インストールが終了したらとりあえず、起動してみる。 # /usr/local/sbin/postgrey --inet=10023 -d としてみるが起動せずorz. # vi /usr/local/etc/rc.conf : : postgrey_enabl="YES" これで、起動できる。 んでもって、postfixのmain.cfのsmtpd_recipient_restrictionsに追記する。 # vi /usr/local/etc/postfix/main.cf
:
:
smtpd_recipient_restrictions = permit_mynetworks,
:
check_policy_service inet:127.0.0.1:10023
:
ほほー、ここで10023が出てくるのねん。 # postfix reload postfixを再起動する。 このあと、携帯からとりあえず、メールを送ってみる。 # tail -20 /var/log/maillog 最初は、newとなり、接続を切断している。 効果はてきめんで、いままでさんざん来ていたSPAMが来なくなった。 そうか、whitelistを作成する目的は、postgrey日本語ポータルとかで「whilelistは信頼できる人に予め配信を許可したい」とタイトルが付いているけど、相手のメールサーバとこちらのメールサーバに余計な負荷をかけない目的もあるのかなぁとも思ったりして。 配送されなかったメールを削除する。 †なんらかの問題により配送されなかったメールをpostfixは一定期間配送しようとがんばる。 でもそのメールはいらなかったりする場合に削除したい。 で、本当は、手動で消しちゃうんぢゃなく、 # postsuper -d ALL deferred が正しいやり方。 quabbinの日記さんのところでは、その後の検証をおこなっているが、ここでqueueの状態を確認するコマンドも使っていたので、更にメモ # postqueue -p これでqueueの中に何が残っているか確認できる。 Postfixのページでまた勉強だな。 |