電子メールが送信されない smtp サーバーを介して電子メールを送信する際の問題を解決するために、System.Diagnosis.TextWriterTraceListener を使用してログを有効にし、smtp サーバーとの通信を追跡してエラーを追跡するようにアドバイスされました。ノードの下の web.config に次を追加しました。
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net" >
<listeners>
<add name="MyTraceFile"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="MyTraceFile"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add
name="MyTraceFile"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="System.Net.trace.log" />
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
</switches>
</system.diagnostics>
開発マシンで試してみたところ、問題なく動作しました。smtp-server との完全な通信を簡単に読み取ることができました。ただし、運用環境 (Windows 2003 Server の IIS 6 で実行) では、まったく機能しません。ファイルシステムにログが書き込まれていません。私が最初に考えたのは、ASP.NET ワーカー プロセス アカウント (NETWORK SERVICE) には、指定された場所にあるファイル システムに書き込むための十分な権限がないのではないかということでした。私はそれを修正しましたが、まだログを取得しません。第二に、おそらくフォルダーが「読み取り専用」に設定されているのではないかと考え、それも修正しました。しかし、まだログが書き込まれません。
誰が問題が何であるか考えていますか? または、これを修正する方法についてのアドバイスはありますか?事前にサンクス!