私は、ネット上の多くのウェブサイトで見つけた単純な標準コードで動作する、完全に機能する VB.NET ソリューションを持っています。これは次のようなものです。
Dim oMessage As New MailMessage
oMessage.From = New MailAddress("someone@abc.com")
oMessage.To.Add("someone_else@abc.com")
oMessage.Subject = "test mail"
oMessage.Body = "test mail body"
oMessage.IsBodyHtml = False
Dim oSMTP As New SmtpClient("192.168.1.253")
oSMTP.Port = 25
oSMTP.EnableSsl = False
oSMTP.Credentials = New System.Net.NetworkCredential("someone@abc.com", "password")
oSMTP.Send(oMessage)
実用的なソリューションは、通常の構成の gmail smtp サーバーに依存しています。SMTPサーバーが会社のLAN(192.168.1.253)にあり、ポート25を使用する別の環境で同じソリューションを複製しようとしました.SSLは必要ありません。事実: 1) ソリューションを展開しようとしているサーバーは、専用アドレスから電子メールを送信するサードパーティ ソフトウェアを実行しています (同じ電子メール アドレスを使用する必要があります)。この機能はアクティブで機能しています。2) telnet 経由で SMPT サーバーに接続しようとしたところ、SMPT プロトコルを使用してプライベートのメール アドレスにメールを送信することに成功しました。他のソフトウェアが同じジョブを実行しても問題が発生しないため、これは予期されたものです。3) エラーを取得するために try-catch ブロックを使用してソリューションをテストしましたが、コードがエラーなしで終了しても、宛先にメールが届きません。
私は smtp とメッセージ (および別の送信先アドレス) に対してさまざまなオプションを試しましたが、結果は常に同じでした: メッセージは送信されません。最後のチャンスは、サーバー構成またはウイルス対策ソフトウェアとの競合を探すことです。しかし、SMPT プロトコルを介したサーバーとの「プレーンな」ダイアログが成功し、私の非常に単純なコードが成功しない理由がわかりません。
最後のメモ: 私が言及したメール サーバーは、Microsoft Exchange Server である必要があります。
どこに問題があるのでしょうか? どんな助けでも大歓迎です。