【问题标题】:Unstable log4net emails with a Windows Service on a Windows Server 2003 R3 using Exchange Server使用 Exchange Server 在 Windows Server 2003 R3 上使用 Windows 服务的不稳定 log4net 电子邮件
【发布时间】:2013-07-19 08:58:54
【问题描述】:

我在 Windows Server 2003 R2 上运行 Windows 服务。我们正在使用 Exchange Server 发送电子邮件。

我正在使用 log4net.dll 1.2.11.0。

我的情况是 log4net 有时会发送电子邮件,有时即使没有对设置进行任何更改。

所有其他 log4net 日志都工作得很好。如前所述,有时应用程序会发送电子邮件,有时则不会,因为对应用程序没有任何更改。

我所有的方法都在 try-catch 子句中,但我没有收到任何错误。

当我在本地机器上运行 Windows 服务时,log4net 电子邮件始终有效,正如在远程服务器上所说,有时 log4net 电子邮件有效,有时却不能,未对设置进行任何更改。

我正在使用 log4net.Internal.Debug 并有一个 System.Diagnostics.TextWriterTraceListener 文件,其中写入了内容。 扫描这个文件我没有发现任何特别的东西,但我不知道要寻找什么。

对问题是什么或做什么有任何想法?

【问题讨论】:

    标签: windows-services log4net windows-server-2003 exchange-server


    【解决方案1】:

    如果 SMTP 附加程序无法发送电子邮件,它将记录一个带有以下文本的异常:发送电子邮件通知时发生错误。如果启用了内部调试,这将是可见的。也许您配置了过滤器或类似的配置来阻止 log4net 发送电子邮件。

    您可以下载 log4net 的源代码并将额外的日志记录添加到 SMTP 附加程序,以查看附加程序的“SendMail”方法是否被调用。如果确实如此并且没有显示电子邮件并且没有显示错误,那么我们需要假设交换服务器以某种方式吞下了电子邮件。如果 appender 没有被触发,那么你需要检查你的 filter/buffer/threshold 配置。

    您也可以尝试使用SmtpPickupDirAppender

    【讨论】:

    • 感谢您的回复 Stefan Egli :) 有趣的是,有时 log4net 工作正常并发送电子邮件,有时却没有,因为没有对配置进行任何更改。当我在本地机器上测试相同的代码时,它总是有效。但是在生产中,它不稳定,有时有效,有时无效。我正在使用 log4net.Internal.Debug,但我还没有注意到发送电子邮件通知时发生错误。信息。当交换服务器可能最忙时,似乎存在电子邮件无法正常工作的趋势。我可能会调查 SmtpPickupDirAppender。
    • 我对要发送到的电子邮件列表进行了一些测试,其中一个是公司自己的电子邮件地址。事实证明,发送到雅虎帐户的电子邮件可以正常发送,而发送到公司自己的电子邮件地址的电子邮件却没有发送。目前这似乎是我的问题。这与公司自己的电子邮件地址有关,这使它们不稳定。
    • 好的。所以现在你至少知道你的应用程序不是问题所在。 :)
    • 嗨 Stefan Egli,再次感谢您的协助!我现在找到了问题的根源。我有点尴尬地告诉它是什么。事实证明,发往公司自己电子邮件地址的电子邮件有时会进入垃圾邮件文件夹。我很尴尬地告诉这个。电子邮件并不总是最终进入垃圾邮件文件夹,但有时。我有点不确定我应该将什么标记为问题的答案。
    • 我想您可以将问题标记为已回答,因为它为您指明了正确的方向,并且对其他有类似问题的人有用。
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2011-04-19
    • 2020-03-18
    • 2011-09-11
    相关资源
    最近更新 更多