Чтобы решить проблему с отправкой электронной почты через smtp-сервер, на котором не отправляются электронные письма, мне посоветовали включить ведение журнала с использованием System.Diagnosis .TextWriterTraceListener для отслеживания связи с smtp-сервером для отслеживания любых ошибок. Я добавил следующее к моей web.config в узле:Проблема с System.Diagnosis.TextWriterTraceListener не записывает никакого журнала в файловую систему
<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-сервером. Однако в рабочей среде (работающей на IIS 6 в Windows 2003 Server) она не работает вообще. В файловую систему не записывается журнал. Моя первая мысль заключалась в том, что, возможно, учетная запись рабочего процесса ASP.NET (NETWORK SERVICE) не имела достаточных прав для записи в файловую систему в указанном месте. Я исправил это, но до сих пор не получил журнала. Во-вторых, я подумал, что, возможно, папка была установлена только для чтения и исправлена. Но я все равно не записываю журнал.
У кого-нибудь есть идея, в чем проблема? Или, может быть, некоторые советы о том, как я могу это исправить? Thanx заранее!
Да, это то же самое и для разработки, и для производства. Я также проверял, включив трассировку в той же самой версии, но в другой производственной среде, и там она работает нормально. Спасибо за подсказку! –