(BIND9 +) Postfix +Qpopper

このページはPostfixとQpopperについて。
DNSについては別のページに行きましょう。

参考ページ:MTA (Mail Transfer Agent) サーバ基本設定


Mailの設定

BINDを設定しましたか?DNSを動かして、メールサービスも動かしませんか? DNSが動いた後はメールについての設定しましょう。

  1. Postfix
  2. Qpopper

1. Postfix

Turboにはじめから入ってるのはこれ。qmailより分かりやすい気がする。
postfixの設定は、/etc/postfix/main.cfを書き換えるだけでよい。
内容はこんな感じですかね。

方針としては、片道通行のメールは中継させる、ってことですね。

myhostname = altir.kenstar.org
mydomain = kenstar.org
mynetworks = 192.168.0.0/24, 127.0.0.0/8
mydestination = $myhostname, localhost, localhost.$mydomain, $mydomain
myorigin = $mydomain
relay_domains = $mydestination
inet_interfaces = all
mynetworks_style = subnet

ちょっと解説をすると。。。

mydomain, myhostname 自分の環境。
mynetworks よくわからん、が自分の環境を書いておいた。
mynetworks_style 設定方法は、サブネット方式。
mydestination 受け取るメールアドレスのドメイン。違うと受け取らない。
myorigin メールを送るときの自分のドメイン。altirマシンから送信しても、「〜@kenstar.org」から来たとリレーされる。
relay_domains リレーをするドメイン
inet_interfaces 受け取るインターネットアドレス??よく分からないけど、どこからでもOKにしてみた。

正しいかどうかをチェックするために、次のコマンドを打ってみましょう。 問題なければそのままコマンドラインに返ってきます。

/usr/sbin/postfix check
起動には
/etc/rc.d/init.d/postfix start
でOK

もしうまく動作をしないときには、たとえば、/var/log/maillogなどにもログが残るので参考にしてみましょう。
俺の環境では、「mydestination」と「myorigin」と「relay_domains」あたりに設定のミソがあった気がする。

外からのpostfixの振る舞いを見るには、ここのページがお勧めです。プロトコルの一部始終が見れます。


不正中継をチェック

Mail Serverから次のコマンドを打ってみましょう。すると、不正中継のチェックを自動でやってくれます。
19のテストをした後、テスト結果を教えてくれます。

telnet relay-test.mail-abuse.org
また、webからチェックしてくれるサービスもあります。 Nanetのチェックsite

リレーの意味とかあて先の制御の意味とかを詳しく知りたいときには、このページが詳しい。おすすめです。


2. Qpopper

そもそもimapが用意されていますが、使い方がよく分からないので、Qpopperを使ってみることにします。

TurboLinuxにはrpmが用意されていないので、ソースからコンパイルです。./configure, make, make installで/usr/local/にインストールしてください。
とくに設定ファイルはありません。

xinet経由で起動することにします。

hosts.allow
popper : ALL

/etc/xinetd.d/qpopper
service pop-3
{
        disable = no
        socket_type =stream
        wait = no
        user = root
        server = /usr/local/sbin/popper
        server_args = -s
}

/etc/xinetd.d/qpopperは作らなきゃいけないかもしれない。
こんな風に書いた後、chkconfigをつかって起動させましょう。

[root]# chkconfig --add qpopper
[root]# chkconfig qpopper on

確認しましょう

[root]# netstat -a | grep pop
tcp        0      0 *:pop                   *:*                     LISTEN

このように、popがLISTENになっていれば、サービスはあがっています。

次に、localhostから接続できるか確認しましょう。

[root]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Qpopper (version 4.0.5) at altir.kenstar.org starting.

このようになっていれば、localから接続できていることになります。 クライアントマシンから接続できない場合は、/etc/hosts.allowなどの設定がうまくいっていない可能性があります。

次には、クライアントマシン(Windows?)から接続してみましょう。その辺の設定は、各個人で頑張ってください(汗)。 その辺は、Windowsの知識ということで、ここでは割愛。。。