- - PR -
IIS SMTPで送信できないメールがある
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-08 14:32
はじめまして。
IISでSMTPを設定し、メールの自動送信をしようとしています。 しかし、メールが送れるドメインと送れないドメインがあります。 環境 OS:Windows 2000 Server SP4 SMTP:バージョン5.5.2448.0 固定グローバルIP取得 ルータにて、フィルタリング 内部から、DNS,SMTPを許可。それ以外は不許可 SMTP設定 接続設定で、127.0.0.1とサーバのグローバルIPを記載。 (以下のリストに含まれるPCのみにチェック) 中継制限で、127.0.0.1とサーバのグローバルIPを記載。 (以下のリストに含まれるPCのみにチェック) 試している方法 SMTPを設定しているサーバ上で、OutlookExpresを起動。 SMTPサーバを自サーバとして、メールを送信。 すると、 問題なく送れるところもあるのですが、 yahooには送れないのです。(その他にも送れないところがあります) IISのログを確認すると、送れないドメインの場合、 クライアントから、メールを受け取るところまでのログで、 それ以降のログ (OutboundConnectionCommand SMTPSVC1と書かれる部分) がありません。 なので、自分自身で送りに行かないのか?と思ったのですが、 送れているところがあるだけに、全く分かりません。 ちなみに、DNS送れないドメインも問題なくDNSの名前解決はできています。 (nslookupで set q=mx としてメールサーバが引けている) (その後、telnet ***** 25でアクセスできる) という状態です。 ヒントでも結構ですので、もし、分かる方がいらっしゃいましたら、 返信お願いします。 |
|
投稿日時: 2005-12-08 15:03
DNSのキャッシュをクリアして再度試してみてはどうでしょうか?
|
|
投稿日時: 2005-12-08 15:14
こんにちわ.
先方の relay check に引っかかっているとか? 「log に action の形跡がない」のはちょっと良くわかりませんが, 「DNS にも載っていない SMTP relay は拒絶」な設定だったら, そんなこともあるかもしれません. |
|
投稿日時: 2005-12-08 16:09
Skyさん、Kazさんありがとうございます。
Skyさんからご指摘いただいたDNSのキャッシュをクリアして送信を試しましたが、 やはり、送信できませんでした。 また、Kazさんからご指摘いただいた Relay Checkに関してですが、これは先方は設定されていないのでは? と思われます。 根拠としましては、IISのSMTPを別のマシンで、作成し送信したところ、 yahooにも送信できました。 で、送れないマシンと何が違うのか?というところでは、だいぶ違います。 別の試したマシンは OS:Windows XP Professional SMTP:Microsoft SMTPSVC(6.0.2600.2180) LAN環境:プライベートネットワークのマシンで、NATを用いて外部に通信。 です。 なので、先方がRelay CheckでMXが正常でない場合リジェクとしているしていると 考えると、別のマシンで試した場合も送れない結果になると思われるためです。 それから、すいません。 Windows 2000 ServerのSMTPのバージョン間違えました。 SMTP:Microsoft SMTPSVC(5.0.2195.6713) でした。失礼しました。 こうなると、SMTPのバージョンの違いでよくなったり、悪くなったりするのかな? と疑問が・・・・・ 送れないドメインの場合、IISのログには一切通信のログがないのですが、 もしかして、リレーのチェック等で、接続設定、中継設定以外に何かありますか? 送信先(TO)のアドレスで送らないとか・・・・ (あったとしても、デフォルトから変更していませんが) もし、ある場合、ご教授していただければと思います。 |
|
投稿日時: 2005-12-08 16:43
件のサーバから telnet で 25番ポートに接続できるのを確認した、
というのは実際にテストメールの送信が成功する所までチェック なさったということですか? |
|
投稿日時: 2005-12-08 17:29
portulacaさん返信ありがとうございます。
件のサーバから telnet で 25番ポートに接続できるのを確認した、 というのは実際にテストメールの送信が成功する所までチェック なさったということですか? いいえ違います。telnet 25番ポートで接続したまでです。 具体的には、yahooのサイトのmxレコード調べて、 最初に書いてあるメールサーバにtelnet 25番で接続し、 220 **** ****.mail.yahoo.co.jp ESMTP service ready と表示されたところまでです。 この先もやろうとは思ったのですが、mail from: ***@****.*** と入力しても、 Syntax error in parameters or arguments と表示され先にいけなかったので、 単純に、telnetの25番接続では、この先にいけなのかな?と 解釈していました。 これでは、間違っているでしょうか? |
|
投稿日時: 2005-12-08 18:54
自己レスです。
メールを送れないドメインに送信した場合、 IISのSMTPのログには特に何もないのですが、 イベントビューアーのシステムにログがありました。 "The remote server did not respond to a connection attemt" 相手先が応答してくれないってのは、分かったのですが、 telnet の 25番接続では接続できるので、なんで???? といった感じです。 サーバの設定なのでしょうか? |
|
投稿日時: 2005-12-08 19:05
MAIL コマンドの書式が間違っています。
『Syntax error』と言われているのですから、そんなときは RFC2821 を調べます。すると MAIL コマンドは次の書式である ことがわかります。 "MAIL FROM:" ("<>" / Reverse-Path) [SP Mail-parameters] CRLF これだけだとわかりにくいかも知れませんが、斜め読みすれば いくつか例示を見つけられますよ。 簡単な例: EHLO mx1.example.co.jp MAIL FROM:<sender@example.co.jp> RCPT TO:<recipient@example.ne.jp> DATA ‥‥ヘッダおよび本文‥‥ . |