2011-01-17 3 views
3

私はasp.netアプリケーションからサードパーティのSMTPサーバー経由で電子メールを送信しています。このサーバーには認証が必要です。一般的には、System.Net.MailとSystem.Net.NetworkCredentialを組み合わせて使用​​します。なぜSystem.Net.Mailが「認証失敗」およびSystem.Web.Mailを取得していないのですか?

この場合、私は「認証に失敗しました」というメッセージが表示され続けます。私は、ホスト名、ユーザー名、およびパスワード情報が正しいことを知っています。 Outlook経由で正常にメッセージを送信しました。

最後に、System.Web.Mailを使用してメッセージを送信し、System.Web.Mail.MailMessage.Fields.Addを使用して資格情報を指定しました。

Wiresharkでの送信を見ると、私は最初のAUTHコマンドにわずかな違いがあることに気付きました。 OutlookとSystem.Web.Mailの両方が、 "AUTH LOGIN"を送信します。ここで、System.Net.Mailは "AUTH LOGIN bWFpba =="を送信します。

ビットを検索した後、他の人にも同様の問題があることがわかりましたが、通常は中間の中継サーバーを使用することです。私はここに質問を掲示して、誰かがアイデアを持っているかどうかを知りたいと思った。

+0

コードを投稿できますか? – Phil

+1

このフィードバックレポートの回避策を確認してください。https://connect.microsoft.com/VisualStudio/feedback/details/212467/530-authentication-required-error-with-some-smtp-servers –

答えて

1

System.Web.Mailのバージョンがないうちに、System.Net.Mailのバージョンがハッシュやチャレンジを送信しているようです。あなたが別のもので使用していないもので使用している設定はありますか?代わりに、NetworkCredentialを設定すると、送信するサーバーがそのサーバーをサポートしていないときに、ハッシュまたは暗号化されたメカニズムを使用して通信を行うことが前提です。

関連する問題