Enviar um E-Mail via Java

Olá pessoal, sou novo por aqui e leigo no assunto e estou com dificuldade ao enviar um e-mail através do Java. Já vi vídeo aulas e decidi por essa abaixo, porém, não consigo usar a classe “SimpleAuth”. Tudo está perfeito igual ao vídeo o Java pede para que eu crie uma classe SimpleAuth mas mesmo criando, não entendo o por que! Preciso urgentemente de respostas pois é relacionado ao meu TCC!
OBS* : (Já tenho a apk jar.mail).

=====================
SEGUE O CÓDIGO ABAIXO

package enviaremail;

import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EnviarEmail {
  
    
    private String mailSMTPServer;
    private String mailSMTPServerPort;
    private String mailSenha;
    
/*(PARAMETROS)   from - Remetente, to - Destinatário, subject - Assunto e Mensagem  */
    
        public void sendMail (String from, String to, String subject, String message){
    
        
        Properties props = new Properties();
        
        mailSMTPServer = "smpt.googlemail.com";
        mailSMTPServerPort= "465";
        mailSenha= "senha";
        
        
        props.put("mail.transport.protocol","smtp"); // DEFINE PROTOCOLO DE ENVIO COMO SMTP
        props.put("mail.smtp.starttls.enable","true");
        props.put("mail.smtp.host",mailSMTPServer); // SERVER SMTP DO GMAIL
        props.put("mail.smpt.auth","true"); //ATIVA AUTENTICAÇÃO
        props.put("mail.smtp.user", from); //USUARIO OU SEJA, A CONTA QUE ESTÁ ENVIANDO O EMAIL (TEM QUE SER DO GMAIL)
        props.put("mail.debug", "true");
        props.put("mail.smtp.port","true"); // PORTA
        props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); // MESMA PORTA PARA O SOCKET
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");
        
                /* O PROBLEMA ESTÁ AQUI */
        SimpleAuth auth = null; // AUTENTICADOR P/ OS EMAILS
        auth = new SimpleAuth(from, mailSenha);
               /* O PROBLEMA ESTÁ AQUI */
        
        Session session = Session.getDefaultInstance(props, auth);
        session.setDebug(true);
        
        Message msg = new MimeMessage(session);
    
        
        try {
            
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
            
            msg.setFrom(new InternetAddress(from));
            
            msg.setSubject(subject);
            
            msg.setContent(message, "text/area");
            
            
            
            
        } catch (Exception e) {
        
            System.out.println("ERROR AO COMPLETAR MENSAGEM!");
        
        }
        
        
        Transport tr;
        
        try {
            
            tr = session.getTransport("smtp");
            
            tr.connect(mailSMTPServer,from, mailSenha);
            msg.saveChanges();
            tr.sendMessage(msg, msg.getAllRecipients());
            tr.close();
            
        } catch (Exception e) {
        
        
            System.out.println("ERROR ENVIAR MENSAGEM!" + e);
            
        }
         
    }
   
}

cara vamos la

ja foi discutido aqui varias vezes o uso do java mail e existem problemas conhecidos de autenticação com o google. procura na busca

eu imagino que se tentar logar vai aparecer alguma mensagem dizendo “oi alguem tentou usar o java mail, foi vc?” e vc diz ‘sim fui eu’ e ai talvez passe a funcionar.

vcs tb podem usar outro servidor de email. algo que seja mais razoavel de configurar.

Então mesmo que seja difícil de configurar eu gostaria de uma solução para este problema.
Vou procurar aqui nos outros tópicos mas se souber como eu resolvo o problema do “SimpleAuth” já estará a me ajudar.

Descobri o erro!
Era erro de digitação.

package enviaremail;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

class SimpleAuth extends Authenticator{

public String username = null;
public String password = null;

public SimpleAuth (String user, String pwd){

    username = user;
    password = pwd;
}


@Override
protected PasswordAuthentication getPasswordAuthentication(){
    return new PasswordAuthentication (username,password);
}

}