Log4j发送需SMTP认证邮件的配置方法

SMTPAppender可以支持将日志以邮件形式发送,一般网上的例子只提供了无需认证的简单情形,所以本人特地写了本文,介绍如何配置使得其可以发送SMTP认证邮件。
先做如下假设
smtp服务器:smtp.sina.com,
useremail:  youraccount@sina.com
password:  yourpassword

假定我们希望对所有日志级别为ERROR的日志通过上述邮件服务器发送邮件到:admin@yourcompany.com
在log4j.properties中加入如下一段,每段配置上的说明文字(黑色)不是文件内容:
### send error through email.
# log4j的邮件发送appender,如果有必要你可以写自己的appender
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#发送邮件的门槛,仅当等于或高于ERROR(比如FATAL)时,邮件才被发送
log4j.appender.MAIL.Threshold=ERROR
#邮件缓冲区大小
log4j.appender.MAIL.BufferSize=10
#发送邮件的邮箱帐号
log4j.appender.MAIL.From=youraccount@sina.com
#SMTP邮件发送服务器地址
log4j.appender.MAIL.SMTPHost=smtp.sina.com
#SMTP发送认证的帐号名
log4j.appender.MAIL.SMTPUsername=youraccount
#SMTP发送认证帐号的密码
log4j.appender.MAIL.SMTPPassword=yourpassword
#是否打印调试信息,如果选true,则会输出和SMTP之间的握手等详细信息
log4j.appender.MAIL.SMTPDebug=false
#邮件主题
log4j.appender.MAIL.Subject=Log4J Error Message
#发送到什么邮箱,如果要发送给多个邮箱,则用逗号分隔;
#如果需要bcc给某人,则加入下列行:
# log4j.appender.MAIL.Bcc=aaa@bbb.ccc
log4j.appender.MAIL.To=admin@yourcompany.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

SMTPAppdder经常会出现邮件不能发送的故障,可以通过检查下列途径进行检查:
0.首先打开 log4j.appender.MAIL.SMTPDebug选项,将其设置为true
1.检查 防火墙是否屏蔽对smtp服务器以及25端口的访问?
2.如果出现AuthenticationException,则检查是否发送帐号的用户和密码都正确;
    其次检查你的邮箱是否支持非web方式发送邮件。比如某个特定时间之后注册的163邮箱就不能通过stmp服务器直接发送邮件(只能通过web界面发)。
3.如果出现Must issue a STARTTLS command,则你不得不放弃使用这个SMTP服务器发送邮件,因为SMTPAppender不支持SSL连接的SMTP邮件发送。典型的例子就是google mail。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值