このKB 記事のコードをコピーして、ユーザー情報を少し編集してサンプル プログラムを作成しました。新しい System.Net.Mail は暗黙の SSL をサポートしていないため、非推奨の .NET ライブラリ System.Web.Mail を使用してそれを行います。暗黙の電子メール ポートであるポート 465 で Google smtp サーバーを使用してテストしたところ、すべてが機能しました。ただし、これをクライアントに渡して彼のネットワークでテストすると、何も送受信されません。エラーは次のとおりです。
2013-03-07 15:33:43 - The transport failed to connect to the server.
2013-03-07 15:33:43 - at System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args)
2013-03-07 15:33:43 - at System.Web.Mail.SmtpMail.CdoSysHelper.Send(MailMessage message)
2013-03-07 15:33:43 - at System.Web.Mail.SmtpMail.Send(MailMessage message)
私は電子メールの SSL に関してはあまり詳しくないので、根本的な原因について考えられる理論を次に示します。
彼が正しい smtp サーバーと正しいポート (SSL ポート) を使用していると仮定すると、次のいずれかが原因ではないかと思います。
彼らはメール サーバーで SSL を使用していますが、同じドメイン上にあり、送信者として同じ電子メール ドメインを使用しているにもかかわらず、彼が私のプログラムを実行するマシンに証明書がインストールされていません。
彼らは SSL を使用していますが、プログラムが基本認証を使用しているときに、NTLM または匿名認証を使用している可能性があります。
私自身がこの分野ではかなり外国人であり、まだ調査中であるため、情報が少ない場合は申し訳ありません。
私の小さなテスト プログラムが暗黙の SSL 電子メール サーバーの smtp サーバーを使用して送信できることを確認するために、私が最後に実行できる手順を知っていますか?
編集: SSL を使用していることを示すために、コードに次の行を追加しました。
oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");