9

以下のコードを使用して「user.one@asdf.com」などの外部ドメイン アドレスに電子メールを送信できません。

SmtpClient smtpClient = new SmtpClient(smtpMailServer);
smtpClient.UseDefaultCredentials = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;

//Sending mail.
smtpClient.Send(mailMessage);

例外が発生します -

Mailbox unavailable. The server response was: 5.7.1 Unable to relay for xxx@example.com

DeliveryMethod を - に変更した場合

smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

ローカル マシンでメールを送信できます。しかし、例外を除いて本番サイトでは失敗します -

Cannot get IIS pickup directory

どうすればよいか教えてください。

4

4 に答える 4

6

私はこの問題を抱えており、認証によって修正されました。以下を参照してください。

SmtpClient client = new SmtpClient(EmailServer, 25);
var SmtpUser = new System.Net.NetworkCredential("domain\\username", "password");
client.Credentials = SmtpUser;
client.DeliveryMethod = SmtpDeliveryMethod.Network;

1 つのスラッシュがエスケープ文字であるため、2 つのスラッシュを使用する必要がありました。

于 2011-04-20T09:27:43.563 に答える
1

通常、ユーザー名/パスワードを使用して外部メール サーバーで認証する必要があります。外部サーバーを使用しているため、渡す資格情報はわかりません。これはあなたの問題かもしれません。

于 2009-09-29T11:37:24.923 に答える
0

IIS 6.0 Manager/SMTP Virtual Server/Domains の下に、ドメイン名として「*.com」、タイプを「remote」としてドメインを追加することで解決したこの問題に直面しました。

私の場合、SMTP サーバーは匿名アクセスを許可していましたが。

于 2014-08-05T09:20:36.797 に答える