(作成:2004/12)
Debianだと初期インスコ時に導入されるMTA。最初の頃はこりゃ何じゃらほいと思ったもので。だってクライアントユースでMTAなんて要らないじゃん。良くて外部メール鯖を使ったメールの遣り取りなんだからメーラーじゃん。不要だなーと思ってサービスから停止させてましたよ。 まぁ不要サービスの停止というのは恐らく間違ったことではないのだけれど、後々パッケージの依存関係とか見てたらMTAてシステムのエラー情報の送信に使われてるのね。
さておき。ホームサーバ立てると、ちょっとCGIで sendmail
使いたくなってきて、調べてたところeximで十二分に代用出来ることが解った。ので、切角だしこれを機会に設定ももうちょい細かく調べてみようかなー、てなわけで。
起動
デーモンとして動かす場合は以下のように。
# /etc/init.d/exim start
スーパーサーバに任せるも良し。TCP Wrapper掛けられるのでこっちの方が良いかも。
#### /etc/xinetd.conf
service smtp {
socket_type = stream
protocol = tcp
wait = no
user = mail
server = /usr/sbin/exim
server_args = -bs
}
# /etc/init.d/xinetd restart
元々 inetd
が導入されている場合なら、exim導入時に /etc/inetd.conf
にeximの項目が記述される。 xinetd.conf
の設定内容については、そこからコンバートすることができる。
$ echo "smtp stream tcp nowait mail /usr/sbin/exim exim -bs" | /usr/sbin/itox
echo
で記述されているものは /etc/inetd.conf
に記述されているもののコピペ。 itox
コマンドは xinetd
パッケージに含まれている筈。
設定
初期設定
必要最低限の設定はeximインスコ時に対話的に設定できる。この初期設定を再度行ないたい場合は以下のコマンドにて。
# eximconfig
この初期設定画面について、備忘のためにちょこっと解説しとく。 最初にeximが設定済みであれば注意が表示される。まぁ無視するなり何なり。
次。(1)-(5)で選択しる、と言われる。それぞれ以下の意味みたい。
- インターネット上での送受信が可能な設定。
- インターネット上での受信が可能、送信は外部Smarthost(メール配送サーバ?)に丸投げ。アドレスのリライトも可能。
- 配信は外部Smarthostに丸投げ、マシン内ローカルでは配送しない。
- インターネットを用いず、マシン内ローカルにのみ配送。
- 設定しない。
Enter value (default=`1', `x' to restart):
さて。ここからちょっと設定が分岐するわけだ。
(1)を選択:標準的なメールサーバ設定
これは自宅サーバ公開が可能な場合の送受信可能な標準的な設定。
- 送信時にFrom:行に表記されるドメイン
よーするに自分のドメイン。
Enter value (default=`hyakki.local', `x' to restart): hyakki.local
localhost
とhyakki.local
以外に受け取るドメインがあるかどうか
無いなら無視。- 他ドメインからのメール中継を許可するか
踏み台にされるのも嫌なので要らん。 - ローカルネットワーク内からのメール中継を許可するか
取り敢えず要らん。 root
やpostmaster
宛メールをリダイレクトするアカウント名
よーするにAdmin宛メールなので、管理者がいつも使ってるアカウントが良い。none
と打てば取り敢えずrootのメールボックスに流してくれるらしい。複数指定したい場合は半角スペーズかピリオドで区切って記述。
まぁ、後程/etc/aliases
ファイルを記述し直せば問題ないのだけれど。 ここで、既に/etc/aliases
ファイルが存在する場合は置き換えて良いか聞いて来るので、適宜。
Enter value (`x' to restart): riyo
最後に設定内容を示してくるので、良ければ Enter
。
(2)を選択:Smarthost経由の配信設定
これは自宅サーバ公開に制限がある場合(1024番ポート以降しかダメ、とか)で、外部への送信をさせたい場合に便利。多分受信は出来ないと思う。
以降、設定内容は以下の通り。
- 送信時にFrom:行に表記されるドメインを記述
よーするに自分のドメイン。
Enter value (default=`hyakki.local', `x' to restart): hyakki.local
localhost
とhyakki.local
以外に受け取るドメインがあるかどうか
無いなら無視。- 他ドメインからのメール中継を許可するか
踏み台にされるのも嫌なので要らん。 - ローカルネットワーク内からのメール中継を許可するか
取り敢えず要らん。 - どのマシンをSmarthostとして使うか
実際に使用可能なSmarthostを指定。 これが結構曲者で、つまり他メールサーバを踏み台にするのと同義(だと思う)で、ここの紹介でも書いてある通り普通はメール中継を許可してるサーバなんてそうそう有るもんじゃない筈。実際、外部で別に借りているメールサーバは中継に出来なかった。
でも多くの場合、契約ISPのメールサーバへなら、内部アクセスという形で使用可能な事が多い。てなわけで、ウチは契約ISPのメールサーバを用いることにした。
Enter value (`x' to restart): (ISPのメールサーバ)
- rootやpostmaster宛メールをリダイレクトするアカウント名
よーするにAdmin宛メールなので、管理者がいつも使ってるアカウントが良い。none
と打てば取り敢えずrootのメールボックスに流してくれるらしい。複数指定したい場合は半角スペーズかピリオドで区切って記述。
(1)同様、後程/etc/aliases
ファイルを記述し直せば問題ない。 ここで、既に/etc/aliases
ファイルが存在する場合は置き換えて良いか聞いて来るので、適宜。
Enter value (`x' to restart): riyo
最後に設定内容を示してくるので、良ければ Enter
。
(4)を選択:ローカル限定の配信設定
root
やpostmaster
宛メールをリダイレクトするアカウント名
よーするにAdmin宛メールなので、管理者がいつも使ってるアカウントが良い。none
と打てば取り敢えずrootのメールボックスに流してくれるらしい。複数指定したい場合は半角スペーズかピリオドで区切って記述。
(1)同様、後程/etc/aliases
ファイルを記述し直せば問題ない。 ここで、既に/etc/aliases
ファイルが存在する場合は置き換えて良いか聞いて来るので、適宜。
Enter value (`x' to restart): riyo
最後に設定内容を示してくるので、良ければ Enter
。
動作確認
早速テストしてみる。ローカル限定なんで、ローカルtoローカルならいけるわけで。
$ /usr/sbin/exim -t
To: root@hyakki.local
Viva la raza!
.
これで送信。取り敢えず受信してみよか。
# mail
Mail version 8.1.2 01/15/2001. Type ? for help.
"/var/mail/root": 1 message 1 new
>N 1 riyo@hyakki.local Mon Aug 23 14:31 13/383
&
Message 1:
From riyo@hyakki.local Mon Aug 23 14:31:53 2004
Envelope-to: root@hyakki.local
To: root@hyakki.local
From: Riyo <riyo@hyakki.local>
Date: Mon, 23 Aug 2004 14:31:53 +0900
Viva la raza!
& quit
Saved 1 message in /home/root/mbox
受信も出来た。どっとはらい。