1
    package com.demo;
    
    import org.apache.log4j.Logger;
    
    public class LogEmail {
        
        private static Logger log = Logger.getLogger(LogEmail.class);
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            log.error("hi");
    
        }
    
    }
    
    log4j.rootLogger=DEBUG,email
    
    log4j.appender.email=org.apache.log4j.net.SMTPAppender
    log4j.appender.email.SMTPHost=smtp.gmail.com
    log4j.appender.email.SMTPPort=587
    log4j.appender.email.SMTPUsername=shyam
    log4j.appender.email.SMTPPassword=********
    log4j.appender.email.From=*****
    log4j.appender.email.To=********
    log4j.appender.email.Subject=log of messages
    log4j.appender.email.Threshold=DEBUG
    log4j.appender.email.layout=org.apache.log4j.PatternLayout
    log4j.appender.email.layout.ConversionPattern=%m%n
    
    log4j.appender.myout=org.apache.log4j.ConsoleAppender
    log4j.appender.myout.Target=System.out
    log4j.appender.myout.layout=org.apache.log4j.PatternLayout
    log4j.appender.myout.layout.ConversionPattern=%d{yy-MM-dd hh:mm} %p :%C[%M] %m %n
    
    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>in.nit</groupId>
        <artifactId>LogApp</artifactId>
        <version>1.8</version>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
        <dependencies>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.46</version>
            </dependency>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4</version>
            </dependency>
        </dependencies>
    </project>

this is error

    log4j:ERROR Error occured while sending e-mail notification.
    javax.mail.MessagingException: Can't send command to SMTP host;
      nested exception is:
        javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1420)
        at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1408)
        at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:847)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:384)
        at javax.mail.Service.connect(Service.java:297)
        at javax.mail.Service.connect(Service.java:156)
        at javax.mail.Service.connect(Service.java:105)
        at javax.mail.Transport.send0(Transport.java:168)
        at javax.mail.Transport.send(Transport.java:98)
        at org.apache.log4j.net.SMTPAppender.sendBuffer(SMTPAppender.java:416)
        at org.apache.log4j.net.SMTPAppender.append(SMTPAppender.java:256)
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
        at org.apache.log4j.Category.callAppenders(Category.java:206)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.error(Category.java:305)
        at com.demo.LogApp.main(LogApp.java:31)
    Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at java.base/sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:172)
        at java.base/sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103)
        at java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:240)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:443)
        at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:915)
        at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1285)
        at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)
        at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
        at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
        at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1418)
        ... 16 more
    log4j:ERROR Error occured while sending e-mail notification.
    javax.mail.MessagingException: Can't send command to SMTP host;
      nested exception is:
        javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1420)
        at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1408)
        at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:847)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:384)
        at javax.mail.Service.connect(Service.java:297)
        at javax.mail.Service.connect(Service.java:156)
        at javax.mail.Service.connect(Service.java:105)
        at javax.mail.Transport.send0(Transport.java:168)
        at javax.mail.Transport.send(Transport.java:98)
        at org.apache.log4j.net.SMTPAppender.sendBuffer(SMTPAppender.java:416)
        at org.apache.log4j.net.SMTPAppender.append(SMTPAppender.java:256)
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
        at org.apache.log4j.Category.callAppenders(Category.java:206)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.fatal(Category.java:365)
        at com.demo.LogApp.main(LogApp.java:32)
    Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at java.base/sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:172)
        at java.base/sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103)
        at java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:240)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:443)
        at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:915)
        at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1285)
        at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)
        at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedO`enter code here`utputStream.java:81)
        at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
        at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1418)
        ... 16 more
dave_thompson_085
  • 34,712
  • 6
  • 50
  • 70
  • (1) you didn't actually ask a question, which is how StackExchange is supposed to work (2) javamail 1.4 is _ancient_ and by default selects the now-obsolete TLSv1.0 protocol which is disabled in recent Java (you don't identify which, although I see you're compiling for 8 but running on at least 9). See https://stackoverflow.com/questions/69536855/ https://stackoverflow.com/questions/67899129/ https://stackoverflow.com/questions/67742776/ https://superuser.com/questions/1649382/ . ... – dave_thompson_085 Apr 16 '22 at 16:51
  • ... I don't know if you can set the javamail connection properties via log4j; if not you must upgrade (and should in any case) because even if you nobbled your Java to allow TLSv1.0, gmail will reject it for the same reason Java now disables it, namely that it is obsolete and no longer 'fit for purpose'. (3) I fixed the 'markdown' (formatting) so your Q is not unreadable, but in future please read the help in the edit window – dave_thompson_085 Apr 16 '22 at 16:58
  • using log4j i need to send a mail what can i do now – Sachin Tendulkar Apr 17 '22 at 02:10
  • Using 12 year old stuff... I would recommend to search for something which is more up-to-date... – khmarbaise Apr 17 '22 at 07:09

0 Answers0