首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gmail smtp的SmtpAppender log4net

使用gmail smtp的SmtpAppender log4net
EN

Stack Overflow用户
提问于 2013-08-03 23:08:01
回答 4查看 6.4K关注 0票数 5

我为log4net配置了一个smtpAppender (gmail)。奇怪的问题是,当我在IIS7.5上部署应用程序时,smtpAppender不工作。

我尝试使用telnet命令测试与gmail smtp的连接。因此,我可以检查是否有任何东西被阻塞,但测试工作正常。

我的日志配置:

代码语言:javascript
复制
  <log4net>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <file value="C:\logs\MyLog.log"/>
      <appendToFile value="true"/>
      <maximumFileSize value="500KB"/>
      <maxSizeRollBackups value="2"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level %logger - %message%newline"/>
      </layout>
    </appender>
    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
      <to value="test1@test.com" />
      <from value="test2@test.com" />
      <subject value="Error logging message" />
      <smtpHost value="smtp.gmail.com" />
      <port value="587"/>
      <authentication value="Basic" />
      <username value="test05@gmail.com"/>
      <password value="password"/>
      <EnableSsl value="true" />
      <bufferSize value="1" />
      <lossy value="true" />
      <evaluator type="log4net.Core.LevelEvaluator,log4net">
        <threshold value="ERROR" />
      </evaluator>
      <layout type="log4net.Layout.PatternLayout,log4net">
        <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
      </layout>
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="RollingFile"/>
      <appender-ref ref="SmtpAppender"/>
    </root>
  </log4net>

调试后,我发现了以下异常:

代码语言:javascript
复制
log4net:ERROR [SmtpAppender] ErrorCode: GenericFailure. Error occurred while sending e-mail notification.
System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at
   at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
   at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
   at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at log4net.Appender.SmtpAppender.SendEmail(String messageBody)
   at log4net.Appender.SmtpAppender.SendBuffer(LoggingEvent[] events)
EN

回答 4

Stack Overflow用户

发布于 2013-08-03 23:14:23

虽然这不是对您问题的直接回答,但我相信它可以帮助您发现问题。Log4net在静默中失败,这是故意的。为了获得有关错误的信息,您可以启用log4net调试

检查log4net上的How do I enable log4net internal debugging?常见问题

票数 5
EN

Stack Overflow用户

发布于 2013-08-04 06:59:38

问题出在gmail服务器端。Gmail服务器阻止了我的电子邮件,因为它怀疑我使用电子邮件帐户的地址。

票数 3
EN

Stack Overflow用户

发布于 2017-04-05 07:43:20

您需要配置权限以允许从google开发者门户中的应用程序发送电子邮件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18034223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档