0

My log4j.properties file:

log4j.appender.SMTP1=org.apache.log4j.net.SMTPAppender
log4j.appender.SMTP1.From=DoNotReply@mycompany.com
log4j.appender.SMTP1.Subject=Java Mail
log4j.appender.SMTP1.To=support@mycompany.com
log4j.appender.SMTP1.SMTPHost=authsmtp.mycompany.com
log4j.appender.SMTP1.SMTPProtocol=smtps
log4j.appender.SMTP1.smtp.starttls.enable=true
log4j.appender.SMTP1.LocationInfo=true
log4j.appender.SMTP1.Threshold=DEBUG

This works with the user name and password in the config file like this:

log4j.appender.SMTP1.SMTPUsername=USERNAME
log4j.appender.SMTP1.SMTPPassword=PASSWORD

but I have a password store that provides passwords and I can't put the plaintext password into a config file.
I can access the appender in my Java code ( I am setting the email subject using smtpAppender.setSubject() ) but I don't see any way to set the user name or password on the SMTPAppender object. Is there a trick that I'm missing ?

Valid
  • 767
  • 7
  • 14
  • Maybe you need to try a different version of log4j? http://grepcode.com/file/repo1.maven.org/maven2/log4j/log4j/1.2.14/org/apache/log4j/net/SMTPAppender.java#SMTPAppender.setSMTPPassword%28java.lang.String%29 shows setSMTPPassword(String) and setSMTPUsername(String) – Ralph Ritoch Nov 30 '16 at 13:49
  • I am using Log4j version 1.2.16 – Valid Nov 30 '16 at 13:54
  • 1
    Grepcode shows that version 1.2.16 has setSMTPPassword(String) and setSMTPUsername(String) http://grepcode.com/file/repo1.maven.org/maven2/log4j/log4j/1.2.16/org/apache/log4j/net/SMTPAppender.java#SMTPAppender.setSMTPPassword%28java.lang.String%29 – Ralph Ritoch Nov 30 '16 at 13:55
  • And yet when I try it, Eclipse gives me this:The method setSMTPUsername(String) is undefined for the type SMTPAppender – Valid Nov 30 '16 at 13:59
  • I replaced the log4j JAR file and it has stopped complaining. Slightly worrying... – Valid Nov 30 '16 at 14:09
  • http://stackoverflow.com/a/15910708/1849366 – Rajind Ruparathna Dec 04 '16 at 04:28

0 Answers0