Instration for sendmail
sendmailのインストール
|
さて.OSのインストールも完了したことだし,こんどはメール環境を整えましょう.
手始めに,UNIXの世界では鬼門ともいわれている(?) sendmail の設定を行ないます.
これが終ったら POP サーバーも建ててみましょう.これを建てると家庭内メールサーバーが出来上がります.
1.人の造りしもの・・・
でも実際人が造り出したものなんですよね.(^^;2.これよりsendmailの起動実験を行なう.
とりあえず,こんなものの設定を苦労してやるのもアレなので,sendmail.cf を造ってくれる便利ツールを使いましょう.
CF-3.5Wpl7.tar.gz というファイルを落してきます.通称「CF」です.このファイルを /usr/src/ にコピーして
# gunzip CF-3.5Wpl7.tar.gz
# tar xvf CF-3.5Wpl7.tarとやると,CF-3.5Wpl7 というディレクトリの中に一式展開されます.
あとは設定ファイル群の作成です.# make cleantools
# make tools
# make samplesとします.すると,Standards 以下に設定ファイルが作成されるので,通常ならばこれを利用するのですが,今回はすでに設定済みのものを提供します.
PROXY97ユーザーであれば2,3箇所修正すればすぐにしよう可能です.
このファイルはMX参照による配送を行なっていません.hosts ファイルを見ているので,hosts ファイルの設定を済ましておいて下さい.
設定方法は中に説明が書いてあるので,そのとおりに設定して下さい.設定が終ったら
# make sendmail.cf
とします(拡張子に注意!).
これで sendmail.cf が出来上がります.
設定がきちんとあっているかどうか試してみましょう.3.sendmail,再起動します!# sendmail -bt -C./sendmail.cf
でアドレステストモードに入ります.
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>>
のようになります.ここで,
> /parse griffon@osaka.xaxon-net.or.jp
とすると,ダーっと文字が流れますが,それの一番下を見てみましょう.
mailer smtp, host mail.osaka.xaxon-net.or.jp,user griffon@osaka.xaxon-net.or.jp この行に表示されている内容がsendmailによるメールアドレスの分析結果です.
まぁ,つまり,メール送信はSMTP
メールは接続先ISP(*)のmail.osaka.xaxon-net.or.jp
送り先はgriffon@osaka.xaxon-net.or.jp
(*)ISP:Internet Service Privider 接続業者.つまりプロバイダのこと.というわけです.
今度は
> /parse wyvern としてみましょう.すると,一番最後の行が
mailer local, user wyvern となりましたね?
説明するとメール送信はローカル配送
送り先はwyvernとなります.
はい,まとめ.(^^)☆内部アカウント(LAN上のFreeBSDでユーザー登録したアカウント)が使われた場合
mailer local, user ユーザー名 ☆外部アカウント(LAN上のFreeBSDでユーザー登録していないアカウント)が使われた場合
mailer smtp, host プロバイダのメールサーバーアドレス, user 送信先アドレス(フルネーム) あとは sendmail.cf を /etc/ にコピーして下さい.
作成した sendmail.cf を読み込ませるためにsendmailデーモンを再起動させます.4.実際にメールを送ってみる# ps -x
とやって,sendmailのプロセス番号を確認したら
# kill -1 確認したプロセス番号
を実行してsendmailを再起動させます.
でも,こうすると,/etc/rc.conf で設定されているメールの処理間隔時間が長いままになるので(デフォルトでは30分毎),思い切って10秒間隔にでもしてみましょう.(汗)# kill 確認したプロセス番号
# /usr/sbin/sendmail -bd -q10s
(*)フルパスで起動を指示しないとエラーが出ます.まず,sendmailのデーモンを殺します.
次に,sendmailをバックグラウンドデーモンで起動(-bd)するように指示します.
その時のメール処理間隔の時間を10秒(-q10s)にします.
詳しくは sendmail(8) を見て下さい.
もしメール処理間隔を変更したいのであれば,/etc/rc.conf の sendmail_flags にそのように記述して下さい.
以下のようなテキストファイルを用意して下さい.
ファイル名は適当でいいですが,testmail とでもしておきましょう.
From: griffon@os.xaxon.ne.jp
To: griffon@os.xaxon.ne.jp
Sunject: Test mail
メールの送信テストです.
From: 行は,当然ながら貴方のメールアドレスです.
To: 行は,送信先のメールアドレスです.
いまはテスト送信なのでどちらとも同じメールアドレスになりますね.(^^;
Subject: 行は題名です.
その下に本文をダーっと書いて下さい.これを以下のようにして送信します.
まずはローカル送信.# sendmail -v wyvern < testmail
とすると,
# sendmail -v wyvern < testmail
root... Connecting to local...
root... Sent
となるはずです.
-v スイッチは詳細表示をさせるためのスイッチです.
これでローカルのwyvernというユーザーに上記のメールが届きます.
このときの From 行は気にしないで下さい.(笑)次にドキドキの外部送信.
# sendmail -v griffon@os.xaxon.ne.jp < testmail
で,
# sendmail -v griffon@os.xaxon.ne.jp < testmail
griffon@os.xaxon.ne.jp... Connecting to cerberus.grfnwrks.or.jp. via smtp...
220 PROXY97 smtp proxy ready
>>> HELO mirage.grfnwrks.or.jp
250 HELLO, pleased to meet you
>>> MAIL From:<root@mirage.grfnwrks.or.jp>
250 <root@mirage.grfnwrks.or.jp>... Sender ok
>>> RCPT To:<griffon@os.xaxon.ne.jp>
250 <griffon@os.xaxon.ne.jp>... Recipient ok
>>> DATA
354 Enter mail, end with "." on a line by itself
>>> .
250 MAA24162 Message accepted for delivery
griffon@os.xaxon.ne.jp... Sent (MAA24162 Message accepted for delivery)
Closing connection to cerberus.grfnwrks.or.jp.
>>> QUIT
221 mail2.os.xaxon.ne.jp closing connection
こうなります.
エラーが出たら「メールが正常に送信できなかったので /var/tmp/dead.letter に保存しました.」というよな趣旨の英文が出るので,送信先アドレスや sendmail.cf でのメール配信先サーバーアドレスなどを確認して下さい.(*)/var/tmp/dead.letter は時々 /root/dead.letter だったりもする.(汗) ちゃんと送信されていれば,送信先のアドレスで受信することができるはずです.
sendmailの設定はこれで終りました.
送信ができても受信ができないのであればなんの意味もありません.
ということで,POP3 で受信できるように PopClient を導入してみましょう.パッケージで popclient-3.0b6 を導入します.
インストールが完了したら,# popclient PROXY97のアドレス(ホスト名可)
でプロバイダからのメールが受信できます.
しかし,この方法だと毎回ログイン名とパスワードとサーバーアドレスを指定しなければならないので,ここはひとつ,バッチファイルを作ってみましょう.ファイル名は借りに「ppc」とでもしておきましょう.
popclient -k -u ログイン名 -p パスワード PROXY97のアドレス 私の環境だと以下のようになります.(PROXY97はIPアドレス固定です)
popclient -k -u griffon -p xxxxxxxx 192.168.1.1 さすがにパスワードは秘密ですが.(笑)
ログイン名はPROXY97で指定しているログイン名を,パスワードはプロバイダのメールを読む時に必要なパスワード.PROXY97のアドレスは固定なのでこのままでいけるでしょう.
このファイルに実行許可を与えます.# chmod +x ppc
これで ./ppc と打てば簡単にメールが受信できます.
(UNIXでは,たとえカレントディレクトリであろうともパスを指定する必要があります)
まぁ,しかたのないことですね.(笑)
qpopper-2.41b1 をインストールすればWindowsであろうがMacintoshであろうが,POP3をサポートしていればメールの受信が可能です.インストールした後は,/etc/inetd.conf の設定をしておきましょう.
#pop3 stream tcp nowait root /usr/local/libexec/popper popperという行があるので,これのコメントマーク(#)を外してpop3が機能するようにします.
あとは再起動すれば作業は完了です.クライアントマシンの設定もやっちゃいましょう.
クライアントの「POP3サーバー」という項目に qpopper が動いているマシンのIPアドレスを指定すればクライアントマシンのメーラーで受信できます.
また,クライアントのメーラーの「SMTPサーバー」に sendmail が動いているマシンのIPアドレスを指定すると,メールの送信ができます.
送受信プロセスは簡単に説明すると以下のようになっています.[ 受信 ]
プロバイダのメールサーバー → PROXY97を経由 → FreeBSDのディスクにスプール → ユーザーが受信[ 送信 ]
ユーザーが送信 → FreeBSDのディスクにスプール → 一定時間後に自動送信(現状の sendmail.cf ではすぐに送信されます) → PROXY97を経由 → プロバイダのメールサーバーこれでメールの送受信に関する設定は完了です.
おつかれ〜.(^^)/
| ←戻る |
Made with Original Machine "MIRAGE"
Made by Mule for X11 & FreeBSD |