log 发email

一般的邮件服务器大豆要经过验证,如果log4j.properties 没有验证的话会出现

 

javax.mail.AuthenticationFailedException

 

的错误!!

 

意思是没有验证。而log4j项目组在他们的SMTPAppender类里没有加入验证机制,直到16版本也没有,估计以后也够呛了。所以要自己建一个类继承AppenderSkeleton 该写SMTPAppender,为其添加smtpAuth属性

 

Properties代码 复制代码

log4j.appender.MAIL.smtpAuth=true

 

原先注入的处理email的类也由

 

Xml代码 复制代码

 

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 

 变为

Xml代码 复制代码

  

log4j.appender.MAIL=com.hua.test.SMTPHuaAppender 

 

其中com.hua.test为工程中的包名,SMTPHuaAppender 是自己做的类

SMTPHuaAppender 的书写方法参照牛人的博客

http://blog.csdn.net/wangking717/archive/2010/08/11/5804339.aspx

 

最后我发现,还是出现异常

javax.mail.AuthenticationFailedException

 

刚想骂这篇文章的作者(其实已经骂完了),后发现,我的

Xml代码 复制代码

  

[email protected]

 

等属性后面有空格,而log4j处理过程中没有用.trim()。 结果我悲剧了。

以后一定要注意这个

 

 

 

一切皆有潜规则,我草!!

你可能感兴趣的:(apache,xml,.net,log4j,Blog)