メールを受信するということは,どういう仕組みで動作しているのかを簡単に説明しよう.takuya__at__lucifer.legna.org(メールアドレスをボットに拾われるのが嫌なので,@ を __at__ で表記する.これってどのくらい効果があるんだろう?)というメールアドレスにメールを送信する場合,次のような手順で処理される.(厳密な手順ではないんだけど,だいたいあってるはずw)
1. lucifer.legna.org の MX レコードをネームサーバに問い合わせ,転送先メールサーバにメールを転送する.(MX の前はメールアドレスに置けるホスト名に対応し,MX の後はそのメールアドレスのメールを転送すべきサーバのホスト名に対応する.)
lucifer MX 10 lucifer.legna.org.
2. メールサーバ (lucifer.legna.org) は,メールアドレスのホスト名 lucifer.legna.org のメールを受け取ることになっている場合受け取る.(MX レコードだけであれば,偽装が可能なのでサーバ側でもチェックする.)
3. メールアドレスのユーザ名 (takuya) を参照し,ユーザのメールボックスに配送する.
いろいろ細かいところを端折るとこんなかんじ.このことから,MX レコードを設定し,サーバへ接続できるようにポートを開放し,メールサーバがメールアドレスのホスト名が lucifer.legna.org であるメールを受け取るようにすればいい.
あと,忘れてはならないのがメールサーバを起動すること.正確には,メールサーバが 127.0.0.1 のインタフェースからしか接続を許可しない設定で起動するようになっているので,その限定を解除して起動させるということだ.
1. MX レコードの記述
lucifer MX 10 lucifer.legna.org.
がネームサーバに記述されていることを確認する.記述されていなかったら記述する.
2. 受信ホスト名設定
Sendmail は,設定されているホスト名宛のメールを受信するので,それが設定されていれば設定は必要ない.もし設定されていなければ,rc.conf の hostname に設定するだけ.
3. Sendmail の起動
rc.conf に次の行を記述する.
sendmail_enable="YES"
FreeBSD を再起動するか,次のコマンドを入力する.
# /etc/rc.d/sendmail restart
4. ポート開放
SMTP は TCP 25番ポートなので,グローバル IP 25番への接続をサーバのプライベート IP 25番への接続に変換する.ネームサーバの設定でやったのと同じ.
ここまで設定したら,それぞれの項目の設定が正しいかチェックしよう.
1. MX レコードの記述
次のコマンドを入力する.
$ nslookup -type=mx lucifer.legna.org
出力にこのような行があれば OK.
lucifer.legna.org mail exchanger = 10 lucifer.legna.org.
2. 受信ホスト名設定
次のコマンドを入力する.
$ hostname
出力にこのような行があれば OK.
lucifer.legna.org
3. Sendmail の起動
次のコマンドを入力する.
# /etc/rc.d/sendmail status
出力にこのような行があれば OK.
sendmail is running as pid 710.
4. ポート開放
次のページに,ホスト名 (lucifer.legna.org) とポート番号 (25) を入力し,ポートチェックをクリック.
CMAN: ポートチェック
ここまでチェックが完了したら,Gmail などからメールを送ってみよう.そうするとユーザのメールボックスにメールが届くはずだ.全解説明した mail コマンドで確認してほしい.
今回はここまで.Sendmail の設定といっても,Sendmail はデフォルトのままでネームサーバの設定などだけだったけどねwほとんどデフォルトでもメールって動くんだなぁと僕も感心してしまった.次回は.takuya__at__lucifer.legna.org ではなく,よくある takuya__at__legna.org というドメイン名だけのメールを受信できるように設定する.
参考文献:
sendmail 第3版〈VOLUME1〉運用編
sendmail 第3版〈VOLUME2〉設定編
sendmailクックブック―設定と運用のためのレシピ集
0 件のコメント:
コメントを投稿