Log4j: cannot send mail using Log4j SMTP Appenders

I need to send an email when an exception occurs in the log file. This is my log4j.properties file

log4j.rootLogger=Info, EMAIL # EMAIL log4j.appender.EMAIL=org.apache.log4j.net.SMTPAppender log4j.appender.EMAIL.SMTPHost=smtp.gmail.com log4j.appender.EMAIL.SMTPProtocol=smtp log4j.appender.EMAIL.SMTPPort=25 log4j.appender.EMAIL.StartTls=true log4j.appender.EMAIL.From=krn1231@gmail.com log4j.appender.EMAIL.To=krn1231@gmail.com log4j.appender.EMAIL.SMTPUsername=krn1231 log4j.appender.EMAIL.SMTPPassword=mypassword log4j.appender.EMAIL.Subject=Test Gmail Smtp log4j.appender.EMAIL.layout=org.apache.log4j.PatternLayout log4j.appender.EMAIL.layout.ConversionPattern=[%d] [%t] %-5p %c %x - %m%n log4j.appender.EMAIL.Threshold=ERROR log4j.appender.EMAIL.BufferSize=1 log4j.appender.EMAIL.SMTPDebug=true 

This is my sample program for testing this.

 import org.apache.log4j.Logger; public class Test { private static Logger loggers = Logger.getLogger(Test.class); public static void main(String args[]) { try { loggers.info("Hisas"); throw new NullPointerException(); } catch (Exception e) { e.printStackTrace(); } } } 

I tried all trail paths and errors, but to no avail

This is the result specified inside the Eclipse console when I tried

  log4j:WARN No such property [startTls] in org.apache.log4j.net.SMTPAppender. DEBUG: setDebug: JavaMail version 1.4ea java.lang.NullPointerException at Test.main(Test.java:11) 

When I ran this on the command line

telnet smtp.gmail.com 25

He answered well

220 mx.google.com ESMTP f8sm802040pbe.42

+4
source share
2 answers

pass vm statement first ie -Dmail.smtp.starttls.enable=true

 log4j.rootLogger=DEBUG, sendMail log4j.appender.sendMail=org.apache.log4j.net.SMTPAppender log4j.appender.sendMail.SMTPProtocol=smtps log4j.appender.sendMail.Threshold=ERROR log4j.appender.sendMail.SMTPPort=465 log4j.appender.sendMail.SMTPUsername=xxxx@gmail.com log4j.appender.sendMail.From=xxxx@gmail.com log4j.appender.sendMail.SMTPPassword=......... log4j.appender.sendMail.To=yyyyy@gmail.com log4j.appender.sendMail.SMTPHost=smtp.gmail.com log4j.appender.sendMail.Subject=Error Alert log4j.appender.sendMail.layout=org.apache.log4j.PatternLayout log4j.appender.sendMail.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss.SSS} [%p] %t %c - %m%n log4j.appender.sendMail.smtp.starttls.enable=true log4j.appender.sendMail.smtp.auth=true log4j.appender.sendMail.BufferSize=1 
+4
source

Try smtps because Gmail requires SSL.

+2
source

Source: https://habr.com/ru/post/1403720/


All Articles