5

差出人アドレスと宛先アドレスの両方がドメイン内にある限り、Exchange 2007 全体で一般的な C# SMTP コードを使用して電子メールを送信できます。

ドメイン外にメールを送信しようとするとすぐに、次のようになります。

例外の詳細: System.Net.Mail.SmtpFailedRecipientException: メールボックスを利用できません。サーバーの応答は次のとおりでした: 5.7.1 リレーできません

Exchange でメールを受信して​​インターネットに送信するにはどうすればよいですか?

4

4 に答える 4

8

#2 を試してみてください...代わりにExchange ピックアップ フォルダを使用するのはどうですか? メールを作成してフォルダーにドロップするだけで、サーバーへの接続や返信を待つ必要がないため、Exchange 経由でメールを送信するより高速な方法です。さらに、リレーの問題全体をスキップすると思います。

次のように SmtpClient を構成します。

SmtpClient srv = new SmtpClient("exchsrv2007", 25) {
    DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
    PickupDirectoryLocation = "\\exchsrv2007\PickupFolder"
}
...
于 2009-01-14T19:46:07.867 に答える
6

Exchange サーバーに対して認証します。

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.credentials.aspx


DefaultNetworkCredentials はユーザー名などに空の文字列を返し、この例外を引き起こします...

これはであり、これはSystem.Net.Mail で認証されたメッセージを送信する別の例です。

于 2009-01-14T19:06:11.613 に答える
1

ドメイン外への送信を許可するように Exchange を構成するには、Exchange 管理者に依頼する必要があります。私の経験では、彼らはスパムの懸念からそうすることに消極的でした.

用途が限定されている場合は、ドメイン外の特定の基準を満たすメッセージを転送する代わりに、サーバー側のルールを設定できます。これらで VBA を使用してきれいなものにすることもできるかもしれませんが、よくわかりません。

于 2009-01-14T19:05:23.267 に答える
0

Web サーバーからの中継を許可するように Exchange サーバーを設定しましたか? Exchange 2007 に切り替えたときに同じ問題が発生しました。

于 2009-01-14T19:08:55.600 に答える