c# - log4net smtp appender 不发送电子邮件

标签 c# log4net smtpappender

我正在尝试实现 log4net 来发送电子邮件。
以下是我的代码,但它不发送电子邮件。

 <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
  <to value="...." />
  <from value="..." />
  <subject value="Logging Message" />
  <smtpHost value="smtp.gmail.com" />
  <port value="465"/>
  <authentication value="Basic" />
  <username value="..."/>
  <password value="..."/>
  <EnableSsl value="true" />
  <bufferSize value="1" />
  <lossy value="true" />
  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="WARN"/>
  </evaluator>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
  </layout>
</appender>

<root>
  <level value="WARN" />
  <appender-ref ref="SmtpAppender" />
</root>

在 AssemblyInfo.cs 中

 [assembly: log4net.Config.XmlConfiguratorAttribute(Watch = true)]

这就是我创建日志对象的方式

  private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

此配置适用于文件输出,即 RollingFileAppender,但不适用于 SmtpAppender。

N 我已经尝试了很多来自互联网的解决方案,但并不是很有帮助。

请告诉我正确的方向。提前谢谢 :)

最佳答案

我正在使用一个非常相似的附加程序将 SMTP 消息发送到 Gmail,但在我的例子中我使用了不同的端口:

<port value="587"/>

所有其他设置都是相同的,所以试试看它是否适合您。这是 Gmail 用于 TLS 的端口,referenced here .

关于c# - log4net smtp appender 不发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523613/

相关文章:

.net - Log4Net:在 RollingFileAppender 上设置滚动日期的最大备份文件数

java - logback SMTPAppender 在不同线程上复制模式

c# - 在 C# 中列出赋值的变量?

c# - 我对接口(interface)感到困惑吗?

c# - 在 POST 期间调用默认构造函数,我丢失了所有模型数据

c# - 在 SDL2 C# 包装器中检测窗口事件

sql-server - 使用 log4net 记录到 XML 列

c# - log4net/c# - 基于级别的不同布局

grails - Grails 中的自定义日志级别

java - Logback SMTPAppender 不发送电子邮件