2

私は C# を使用しており、IIS で smtp メッセージを送信しています (ローカル ホストを使用)。人々がサーバーを参照すると、サーバーは SSL 証明書を持っています (https)。SSL で送信されるメール送信を改善したかったので、私はこの行を追加しました:

`client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;`
`client.UseDefaultCredentials = true;`
`client.EnableSsl = true;`

クライアントを作成した直後: var client = new System.Net.Mail.SmtpClient("127.0.0.1");

そして前: client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

しかし、メールを送信すると、「ピックアップディレクトリ配信方法では SSL を有効にしないでください」というメッセージが表示されます。

助けてください :)

4

3 に答える 3

5

コードで配信方法をネットワークに設定する必要があります。

client.DeliveryMethod = SmtpDeliveryMethod.Network;

于 2014-06-23T13:32:07.520 に答える
0

SendAsync メソッドの MSDN ページの例外セクションによると、「EnableSsl が true に設定されているが、DeliveryMethod プロパティが SpecifiedPickupDirectory または PickupDirectoryFromIis に設定されている」場合、SmtpException が発生します。私の場合、DeliveryMethod はデフォルトで Network に設定されています (ただし、これはデスクトップ クライアントです)。エラー メッセージから、それは固有のものであるか、IIS ピックアップであると思われます。あなたのソフトウェアはデスクトップですか、それとも ASP.NET Web アプリですか? もっと教えて。Send または SendAsync を使用していますか? 「client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;」冗長であるため、UseDefaultCredentials は内部で自動的にそのようなことを行う必要があります。

于 2013-02-26T23:55:46.407 に答える