Error when using SimpleEmail

0
public void enviarEmail() throws EmailException{
    SimpleEmail email = new SimpleEmail();
    email.setHostName("smtp.gmail.com");//o servidor SMTP para envio do e-mail
    email.addTo("[email protected]", "teste"); //destinatário
    email.setFrom("[email protected]", "Me"); // remetente
    email.setSubject("Mensagem de Teste");// assunto do e-mail
    email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail
    email.send(); //envia o e-mail
}

I'm trying to make a code that sends an email and is giving the following error:

  

Exception in thread "main" java.lang.NoClassDefFoundError:   javax / mail / Authenticator

    
asked by anonymous 04.10.2017 / 16:05

1 answer

0

1. Add the following dependencies in pom.xml:

   <dependencies>      
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.2</version>
        </dependency>   

        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>     

        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.6</version>
        </dependency> 
    </dependencies>

2. Create a method for submission (pay attention to comments):

   public static void sendEmail() throws EmailException {

        SimpleEmail email = new SimpleEmail();
        // Utilize o hostname do seu provedor de email
        System.out.println("alterando hostname...");
        email.setHostName("smtp.gmail.com");

        // Quando a porta utilizada não é a padrão (gmail = 465)
        email.setSmtpPort(465);

        // Adicione os destinatários
        email.addTo("[email protected]");

        // Configure o seu email do qual enviará
        email.setFrom("[email protected]", "Karan User");

        // Adicione um assunto
        email.setSubject("Lembrete de senha");

        // Adicione a mensagem do email
        email.setMsg("Lembrete de senha karanalpe ");

        // Para autenticar no servidor é necessário chamar os dois métodos abaixo
        System.out.println("autenticando...");
        email.setSSL(true);
        email.setAuthentication("[email protected]", "suaSenha");
        System.out.println("enviando...");
        email.send();
        System.out.println("Email enviado!");
    }

Reference: link

Source code: link

    
04.10.2017 / 19:24