【问题标题】:What is the proper way to configure SMTPAppender in log4j?在 log4j 中配置 SMTPAppender 的正确方法是什么?
【发布时间】:2010-10-21 04:14:07
【问题描述】:

我正在尝试将 log4j 配置为使用 SMTPAppender,但我不断收到中继访问被拒绝错误。在我的笔记本电脑上和直接从我的共享托管环境中执行我的代码时,我收到了这个错误。

以下是相关配置:

#CONFIGURE SMTP
log4j.appender.email=org.apache.log4j.net.SMTPAppender
log4j.appender.email.SMTPHost=mydomain.com
log4j.appender.email.SMTPUsername=myuser
log4j.appender.email.SMTPPassword=mypw
log4j.appender.email.From=myuser@mydomain.com
log4j.appender.email.BufferSize=1
log4j.appender.email.EvaluatorClass=TriggerLogEvent
log4j.appender.email.layout=org.apache.log4j.PatternLayout
log4j.appender.email.layout.ConversionPattern=%m

如果我改用log4j.appender.email.SMTPHost=mail.mydomain.com,则会出现身份验证错误。我的主机在 DreamHost 上,如果有人使用 DreamHost 电子邮件帐户设置了 log4j SMTPAppender,则可以加分。

【问题讨论】:

    标签: java smtp log4j


    【解决方案1】:

    原来我只是把属性都弄错了。应该是:

    #CONFIGURE SMTP
    log4j.appender.email=org.apache.log4j.net.SMTPAppender
    log4j.appender.email.SMTPHost=mail.mydomain.com
    log4j.appender.email.SMTPUsername=myuser@mydomain.com
    log4j.appender.email.SMTPPassword=mypw
    log4j.appender.email.From=myuser@mydomain.com
    log4j.appender.email.BufferSize=1
    log4j.appender.email.EvaluatorClass=TriggerLogEvent
    log4j.appender.email.layout=org.apache.log4j.PatternLayout
    log4j.appender.email.layout.ConversionPattern=%m
    

    【讨论】:

    • 这给了我:java.lang.ClassNotFoundException: TriggerLogEvent。这是针对旧版本的 log4j 的吗?
    • 原来TriggerLogEvent 是一个可下载的类,如果您需要记录除 ERROR 以外的级别,则可以使用它。更多信息在这里:stackoverflow.com/a/8170636/24874
    【解决方案2】:

    SMTPHost 应该指向您的邮件服务器(因此,mail.mydomain.com 用于 Dreamhost)。如果您 telnet 到 25 端口并手动传递凭据,您可以手动发送邮件吗?

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 2012-03-18
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多