メールボックスを利用できません。サーバーの応答は次のとおりです。5.7.1abc@ xyz.comを中継できません[クローズ]


84

ASP.NETを使用してメールを送信しようとすると、「メールボックスが利用できません。サーバーの応答は5.7.1abc@xyz.comにリレーできません」というメッセージが表示されます。このサイトは、IIS7、Windows2008サーバーに展開されています。

このWebサイトは、IIS6およびWindows 2003Serverで正常に機能していました。IIS7にデプロイしましたが、2008年にこのエラーが発生し始めました。

誰かがこれを以前に経験したことがありますか?



Stack Overflowは、プログラミングと開発に関する質問のサイトです。StackExchangeネットワーク上の別のサイトを使用します
JWW

回答:


115

ああ、わかった...私はそれを動かした:)

クリストファーに感謝します、あなたの提案は正しいです。

しかし、「デフォルトのSMTP仮想サーバー」を見つけるのは難しいです;)

IIS7を使用してWebサイトを展開する場合でも、IIS6マネージャーを開いてSMTPサーバーを構成する必要があります(なぜですか?)。

動作させるために、SMTPサーバーを次のように構成しました。

  1. [コントロールパネル]-> [管理ツール]を使用してIIS6マネージャーを開きます。
  2. SMTP仮想サーバーのプロパティを開きます。
  3. [全般]タブで、[すべて未割り当て]ではなくWebサーバーのIPアドレスを設定します。
  4. [アクセス]タブで、[リレー]ボタンをクリックします。これにより、[リレー制限]ダイアログが開きます。
  5. リレーコンピュータのリストに、ループバックIPアドレス(127.0.0.1)とWebサーバーのIPアドレスを追加して、SMTPサーバーを介して電子メールを通過/中継できるようにします。

3
それは使用していますので、IIS 7.Xは、独自のSMTPサーバーコンポーネントを持っていないため、このニーズは、IIS 6で管理される理由は、IIS 6である
MemeDeveloper

5
web.configで、SMTPサーバーを「localhost」という名前で参照していました。手順3に従った場合、この解決策は失敗しました。手順3を省略した場合は、機能しました。ありがとう:)
Paul Suart 2013

1
これは、IIS8およびサーバー2012にも適用されます
Isaac Bolinger 2014年

Office 365のアカウントを介して電子メールを送信するためにリレーを使用しています。WebサーバーのSMTPサーバーを使用していない場合でも、IIS6にSMTPサーバーをインストールする必要がありますか。これは、IIS10を実行しているWindowsServer 2016上にあります。この問題に対する提案や解決策はありますか?前もって感謝します!
ネイサン

どうもありがとうございました!私の問題を解決しました。
Nanou Ponette 2018年

20

ここに答えがあります... IIS設定

IIS->デフォルトのSMTP仮想サーバー->プロパティ->アクセス->リレーの制限は、気になるIPを追加または除外するだけで、問題を解決するはずです。


2
「デフォルトのSMTP仮想サーバー」はどこにありますか?IIS7を使用しています。IIS6には「SMTP仮想サーバー」がありますが、IIS&にはありませんか?
Vinod T. Patil 2010

18

私は同じ問題に直面していて、Vinodの返信の(非常に明確に綴られた)手順に従いましたが、これにより別のエラーが発生しました:

トランスポート接続からデータを読み取ることができません:net_io_connectionclosed

私はもう少し掘り下げて調べて、(なぜこれが機能したのかは
わかりませんが)次の方法で解決しました:-IIS6.0管理コンソールに戻る-SMTP
仮想サーバーのプロパティを開く
-[全般]タブで、[IP]を変更するアドレス: '設定を'(すべて未割り当て) 'に戻す

これが機能する理由はわかりませんが、将来同じ問題に直面している人の助けになることを願っています。


15

写真として千の言葉の価値があります。

IIS6マネージャーを見つけたら(IISを検索すると2つの結果が返される場合があります)、SMTPサーバーのプロパティに移動し、[アクセス]をクリックして、リレーボタンを押します。

次に、すべてを選択するか、127.0.0.1などの特定のIPのみを許可することができます

SMTPリレー


5

よく提示された答えをくれたVinodに感謝します。

上記の手順を実行すると、MickByrneと同じエラーが発生しました。All Unassignedに戻すと並べ替えられましたが、他にもいくつか調整する必要がありました。

  • SMTP仮想サーバーの[セキュリティ]タブで、自分のサイトが実行されていたユーザーをユーザーに追加します。
  • web.configのmailSettings> network> host属性の値を、localhost(hostsファイルで127.0.0.1を指していた)ではなく、特定のサーバーIP(たとえば、192.168.100.120)に変更しました。

これにより、誰かが数分間いじり回す手間が省けることを願っています。


4

web.configのsystem.net部分のメール設定を変更することで、この問題を修正できました。

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

2

Exchange 2010をお持ちの場合:

(私の場合、エラーメッセージには「forabc@xyz.com」が含まれていませんでした)

これは、受信コネクタを追加する方法を示しています。 http //exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

ただし、次の手順を実行する必要もありました:http//recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • Exchange管理シェルに移動し、コマンドを実行します
  • Get-ReceiveConnector「JiraTest」| Add-ADPermission -User "NT AUTHORITY \ ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

これに取り組んでいる間、エラーがなくなるまで、影響を受けるサーバーのPowerShellコンソールで次の操作を実行しました。

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

1

私の場合、エラーの原因を共有したかった。これを理解するために数時間を費やしてください。そうすれば、誰かの時間を節約するのに役立つことを願っています。

不思議なEnable drop directory quotaことに、ドメインで設定を有効にするとエラーが発生しました。

ここに画像の説明を入力してください

私は専門家ではなく、技術的な説明もわかりませんが、上記の設定のチェックを外すと問題が解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.