• 締切済み

SMTPのリレー動作について

お世話になります。 SMTPのリレー動作について伺います。 試行的に内部LAN内で2台のSMTPを構築しました。 PC(Windows7)2台それぞれに、Xmail-1.27をインストールしています。 ドメイン名は各々test.mail.comとxmail.sv として、 お互いにDNSを使った名前解決はできず、hostsを使っています。 メーラとしてoutlookを使い、 test.mail.comユーザからxmail.svユーザにメールを送信すると、 問題なくメールが届きます。 特段リレーサーバの設定をしていないのですが、 test.mai..comはどうやってxmail.svにリレーしているのでしょうか? 実は、リレーサーバとして相手ホストを設定すると、 逆に転送しなくなってしまったりします。 先ずは、SMTPの基本動作を理解する必要があり、自ホストにユーザがいない場合には、 次のメール転送先をどうやって決めているのかを教えていただきたいと思います。 よろしくお願いします。

みんなの回答

  • maesen
  • ベストアンサー率81% (646/790)
回答No.2

失礼ですが、質問と補足を見るとMTA、MDA、MUA等の基本的なことから理解して頂かないといけないような感じです。 http://ascii.jp/elem/000/000/439/439105/ >先ずは、SMTPの基本動作を理解する必要があり、自ホストにユーザがいない場合には、 >次のメール転送先をどうやって決めているのかを教えていただきたいと思います。 この問いに直接答えると、 自ホストにユーザがいない場合は転送せず、送信元にSMTPの5xx又は4xxエラーを返すか、ユーザが無い旨のバウンスメールを送信元に返します。 実際、どれになるかはMTAの設定に依存します。 それで、たぶん聞きたいのはSMTPサーバが、自分が管理していないドメイン宛てのメールを受けた場合にどうするかということなのではないかと思います。 この場合は、 ・該当ドメインのMXレコードをDNSサーバに問い合わせる(これで送信先のSMTPサーバのFQDNが取得される) ・上のFQDNからIPアドレスを取得する これで送信先のSMTPサーバが決まります。 ※もちろん説明中では第三者中継の制限などは考慮していませんし、スマートサーバやメールルーティングも考慮していません。 MXレコードが引けない場合の動作は、SMTPサーバのソフトおよび設定に依存します。 >お互いにDNSを使った名前解決はできず、hostsを使っています。 SMTPサーバはDNSサーバと連携して動きますので、動作を検証したり学習したりしたいのならば、きちんとDNSサーバも構築しましょう。 >ドメイン名は各々test.mail.comとxmail.sv として、 他の方も書かれていましたが、実在するドメイン名を使用するのはやめたほうが良いです。 閉鎖されたLAN内だからどう設定しても勝手だと考えているのならば改めて頂いたほうが良いと思います。 ちゃんとそれようのドメイン名が既定されていますので。 http://www.atmarkit.co.jp/fwin2k/win2ktips/801exampledom/exampledom.html

freeradical
質問者

お礼

大変わかりやすいページを紹介していただきました。 ありがとうございます。 これを参考に試行環境を作り直してみたいと思います。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

mail.com は実在するドメインだからこのような公共の場でそれを勝手に使ってはいけないと思うんだけどなぁ.... 同様にエルサルバドルの TLD である sv を勝手に使うのもどうかと思う. さておき, 「test.mail.comユーザ」というのは実際にはどのホストからメールを送っているんでしょうか? また, 「xmail.svユーザ」が受け取るべきメールはどのホストに保存されるのでしょうか? test.mail.com と xmail.sv とは直接通信できるのでしょうか?

freeradical
質問者

お礼

早々のご返信ありがとうございました。

freeradical
質問者

補足

公共の場というか、LAN内で利用しています。 状況を補足いたします。 outlookに以下二つのアカウントを追加しています。 user1@test.mail.com user2@xmail.sv それぞれ、自分宛て(自ドメイン経由)でのメールの送受信ができています。 新規メッセージ作成でアカウントにuser1@test.mail.comを設定し、user2@xmail.svを宛先に送信すると、user2@xmail.svで受信します。 この動作から、test.mail.comからxmail.svにメールを送っていて、xmail.svから受け取っていると思います。 なお、test.mail.comとxmail.svは直接通信できます。(RDPでtest.mail.comからxmail.svに繋げています) よろしくお願いします。

関連するQ&A