为什么NLog不发送电子邮件?

问题描述 投票:0回答:1
 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<extensions>
  <add assembly="NLog.MailKit"/>
</extensions>

 <targets async="true">
<target name="errorLogger" xsi:type="Mail"
        smtpServer="mail.sample.com"
        smtpPort="3500"
        from="[email protected]"
        to="[email protected]"
        subject="test subject" />
</targets>
<rules>
   <logger name="EmailLogger" level="Warn" writeTo="errorLogger" />
  <logger name="EmailLogger" level="Error" writeTo="errorLogger" />
</rules>
</nlog>

C#代码

private static Logger SendEmailLogger = LogManager.GetLogger("EmailLogger");
 if (exception != null)
                {
                    SendEmailLogger.Warn("Sending email from NLog");
                    SendEmailLogger.Error(exception, "Sending email from NLog");
                }

我认为这足以发送电子邮件。我也创建了自定义错误,例如dividbyzero和找不到文件错误。但我仍然没有收到任何电子邮件。请谁能建议我,我想念的是什么。

我已经从Nuget软件包安装了Nlog.mailkit。内部记录跟踪enter image description here

Fusion ++ 1.1日志enter image description here

enter image description here

c# web-applications nlog .net-framework-version
1个回答
0
投票

我看到您收到mailkit.dll的“无法加载文件或程序集或其依赖项”

这可能有以下原因:

  • 未部署mailkit.dll。
  • 您正在使用其他版本的mailkit。由于Mailkit dll具有强名称/签名,因此您无法轻松更改版本。您需要一个bindingRedirect,或仅在整个解决方案中保持Mailkit的版本相同。
© www.soinside.com 2019 - 2024. All rights reserved.