17

netsol サーバーで自分の Web サイトの 1 つをホストしています。そこから、contact.aspxExchange サーバーを使用してメールを送信する必要があります。メールを送信しようとすると:

エラー: メールボックスが利用できません。サーバーの応答は次のとおりでした: 5.7.1 リレーできません

コード:

MailMessage message = new MailMessage(@"xxx@example.com", 
                                      @"test_user@yahoo.com",
                                       "New Message",
                                       "Exchange");
SmtpClient mail = new SmtpClient("exchange.abc.com", 29);
mail.EnableSsl = true;
mail.Credentials = new NetworkCredential(@"xxx@example.com", @"password");
mail.UseDefaultCredentials = false;
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.Send(message);

私が試したオプション:

  • ポート 465、587、または 25 でテスト済み
  • SmtpDeliveryMethod.PickupDirectoryFromIis を変更しました
  • 他の誰かのサーバーでホストされているため、IIS (SMTP サーバー) を構成できません
4

3 に答える 3

11

ホスティングに Windows Server 2012 を長い間使用していますが、何年も経っても問題なく動作しなくなります。私の解決策は、サーバーのパブリック IP アドレスをリレーのリストに追加し、Windows 統合認証を有効にすることでした。

2 つの変更を加えただけで、どちらが役に立たないかわかりません。

IIS 6 マネージャーに移動します

IIS 6 マネージャーに移動します

SMTP サーバーのプロパティを選択する

SMTP サーバーのプロパティを選択する

[アクセス] タブで、[リレー] を選択します

[アクセス] タブで、[リレー] を選択します

パブリック IP アドレスを追加します

パブリック IP アドレスを追加します

ダイアログを閉じ、同じタブで [認証] ボタンをクリックします。

統合 Windows 認証を追加する

統合 Windows 認証を追加する

いくつかのステップは必要ないかもしれませんが、うまくいきます。

于 2015-04-17T02:56:40.310 に答える
3

この問題がありました。権限とセキュリティの点ですべてがうまく設定されていました。

干し草の山をたくさんいじった後。問題はある種のヒューリスティックでした。メールの本文に、特定のメール アドレスが記載されている場合は常に、Exchange サーバーから上記のエラー メッセージが表示されます。

これを見つけるのに2日間のクレイジーなテストと髪の毛の引っ張りが必要でした.

すべてを確認したら、メール本文を「test」という単語のみに変更してみてください。その後、メールが正常に送信された場合は、私たちのようなスパム/ヒューリスティック フィルターの問題が発生しています。

于 2015-03-30T17:20:23.390 に答える