SmtpClient を使用して電子メールを送信する C# アプリがあります。SmtpClient を使用する実際のコードは dll にあり、すべての構成 (smtp サーバー、ユーザー名、パスワードなど) は DB に保存されます。
dll は、コンソール アプリケーションと GUI アプリケーションによって消費されます。
私の問題は次のとおりです。GUI アプリケーションによって呼び出されると、電子メールは正しく送信されます。コンソール アプリケーションによって呼び出された場合、電子メールは送信されません。
smtp 構成は同じです (ログで確認)。サーバーは、ファイアウォールが無効になっている Windows 2012 R2 です。Send メソッドによって、またはその前に例外が発生することはありません。
Network Monitor を使用して確認しましたが、コンソール アプリは smtp トラフィックをまったく生成していません。
IT 担当者は、他のファイアウォールや制限ポリシーはないと言っています。
誰でも確認することを提案できますか?
電子メールを呼び出すコードは、GIU とコンソールで同じで、次のように単純です。
var configuration = AppCore.Configuration.Get();
var check = new AppCore.CheckManager.DataQuality(configuration);
check.DoProcess();
AppCore は Dll です。