Log4j2配置SMTP郵件實現郵件傳送
阿新 • • 發佈:2018-11-14
大綱:
- 官網配置資訊
- 實際使用
一、官網配置資訊
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<SMTP name="Mail" subject="Error Log" to="[email protected]" from="[email protected] "
smtpHost="localhost" smtpPort="25" bufferSize="50">
</SMTP>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Mail"/>
</Root>
</Loggers>
</Configuration>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
二、實際使用
功能:當輸出的日誌級別為 error 級別以上時,就像某郵箱傳送日誌通知
郵件內容效果如下:
配置前準備:
1. 需要有一個啟動了 smtp 協議的 郵箱賬號;
2. 匯入必須的 jar 包;
我的配置
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Appenders>
<SMTP name="Mail" subject="Error Log" to="[email protected]" from="[email protected]" replyTo="[email protected]"
smtpProtocol="smtp" smtpHost="smtp.163.com" smtpPort="25" bufferSize="50" smtpDebug="false"
smtpPassword="password" smtpUsername="[email protected]">
</SMTP>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Mail"/>
</Root>
</Loggers>
</Configuration>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
SMTP配置說明
屬性 | 說明 |
---|---|
name | appender 的名稱 |
subject | 郵件標題 |
to | 收件人列表,以逗號隔開 [email protected],[email protected] |
from | 發件人 |
smtpProtocol | 協議,預設為 smtp |
smtpHost | 伺服器 例:smtp.163.com |
smtpPort | 埠 |
smtpPassword | 密碼 |
smtpUsername | 使用者名稱 |
我遇到的問題:
1、沒有匯入activation.jar,mail.jar 這兩個jar包,所曝出的錯:
2016-06-22 15:45:48,860 ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.SmtpAppender for element SMTP. java.lang.reflect.InvocationTargetException
......
Caused by: java.lang.NoClassDefFoundError: javax/mail/MessagingException
at org.apache.logging.log4j.core.appender.SmtpAppender.createAppender(SmtpAppender.java:142)
... 34 more
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
... 35 more
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2、沒有正確填寫 smtpUsername 導致的問題
2016-06-22 15:52:54,275 ERROR Error occurred while sending e-mail notification. com.sun.mail.smtp.SMTPSendFailedException: 553 authentication is required,163 smtp13,EcCowABXrbLaQ2pXI8GrBQ--.536S2 1466581979
- 1