0

弊社のSMTPサーバーを利用してメールを送信しています。メールを他のメール (会社のドメインの外側) に送信すると、エラーが返されて問題が発生します。

「サーバーは 1 つ以上の受信者アドレスを拒否しました。サーバーの応答は 550 5.7.1 中継できませんでした」.

メールが社内のものであれば、エラーは発生せず、メールは正常に送信されます。私の Web アプリケーションは IIS でホストされています。

4

2 に答える 2

1

私はこの問題を解決しました。このコードを使用するには、名前空間Using System.Web.Mail;を追加する必要があります。

ソースコード:

MailMessage mail = new MailMessage();

mail.To = "yourfromemail@domain.com";

mail.From = "yourtodomain@domain.com";

mail.Subject = "Email test.";

mail.Body = "Your body text here";

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");   //basic authentication

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here"); //set your username here

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret");       //set your password here

SmtpMail.SmtpServer = "127.0.0.1";  

SmtpMail.Send( mail );

//IIS マネージャーに localhost アドレスを追加する必要があります。IIS マネージャーに移動 -> 既定の SMTP サーバー -> プロパティ -> アクセス -> リレー -> 以下のリストからのみ許可 -> 追加 -> 127.0.0.1 -> [OK] をクリックします。

于 2013-06-07T02:55:37.560 に答える
1

あなたのコードには何も問題がないと仮定します。これは構成の問題だと思います。つまり、会社のドメインの一部ではないアドレスに電子メールを送信しないように構成された SMTP サーバーです。その場合は、Windows/ネットワーク チームに確認して、SMTP サーバー レベルで適用された構成を確認する必要があります。

于 2013-02-20T11:59:58.903 に答える