SmtpClient UseDefaultCredentialsプロパティの異常な動作

今朝、私は SmtpClient クラス(.net 3.5)。それを引き起こしているクラスかSMTPサーバーかを説明することはできません。

次のことが起こっています:

  • UseDefaultCredentialsを使用してSmtpClientをインスタンス化する true およびCredentials null 、メールは送信しません。
  • UseDefaultCredentialsを使用してSmtpClientをインスタンス化する false
  • UseDefaultCredentials false およびCredentials null を使用してSmtpClientをインスタンス化すると、メールが正常に送信されます。

最初の2つのケースでは、例外メッセージは次のとおりです。

メールボックスは利用できません。サーバーの応答は5.7.1でした。   この送信者として送信する権限を持っている "

質問:

  • この現象を引き起こす原因を特定するにはどうすればよいですか?
  • C#で回避する方法はありますか?

前もって感謝します!!

3
確かに 'from'ユーザーがCredentialsプロパティのアカウントと一致しないと考えてください(これをチェックしてください)。これとは別に、信用証明書が提供されていないと、例外なくメールを送ることができますか?
追加された 著者 Herman Cordes,
Andrew Barber IT部門に確認して、あなたの答えを確認しました。問題は解決されました、ありがとう!どのように私はあなたにクレジットを与えることができますか?
追加された 著者 Herman Cordes,
送信元フィールドはユーザーと一致していますか?おそらくsmtpサーバーはそれを期待していますか? (また、私はサーバーが外部からの接続を受け入れていないことを願っています。
追加された 著者 Andrew Barber,
それはすべてsmtpサーバーの設定方法によって異なります。私はそれが潜在的な大きな問題だと言うだろう、もしスパマーがそのサーバを見つけたら、それは黒くなってしまうだろう。 (そうでなければ、外部からのメールを受け入れない限り)。
追加された 著者 Andrew Barber,
私は答えを加えました。あなたはそれがうまくいってうれしい!
追加された 著者 Andrew Barber,
同じ問題を抱えていた。しかし、私は自分のclient.Credentials = nullとclient.UseDefaultCredentials = Falseを設定していました。理由を知らず、気にしないでください。笑それは働いている。
追加された 著者 CrazyPaste,

1 答え

これはSMTPサーバーの設定方法によって異なりますが、この場合、送信元のSMTPサーバーにログインするために使用されているアカウントと送信元アドレスが一致していないようです。その結果、中継は拒否されました。

5
追加された