Erro ao enviar email java

0 respostas
javaprogramação
Mezzosd

package enviaremail;

import javax.mail.Authenticator;

import javax.mail.PasswordAuthentication;

import java.util.Properties;

import java.util.logging.Level;

import java.util.logging.Logger;

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 {

public static void sendEmail(String recepient) throws Exception {
    Properties properties = new Properties();
    
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.starttls", "true");
    properties.put("mail.smtp.host", "smtp.gmail.com");
    properties.put("mail.smtp.port", "587");

    String myAccountEmail= "[email removido]";
    String password = "senha";
    
    
    Session session = Session.getDefaultInstance(properties, new Authenticator() {
       
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
           return new PasswordAuthentication(myAccountEmail, password);
        }            
    });
    
    Message message = prepareMessage(session, myAccountEmail, recepient);
    
    Transport.send(message);
    System.out.println("correto");
    
}

private static Message prepareMessage(Session session, String myAccountEmail, String recepient){
    
    
    try {
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(myAccountEmail));
        message.setSubject("ola");
        String htmlCode = "<h1>welove</h1>";
        message.setContent("", "text/html");
        return message;      
    } catch (Exception ex) {
        Logger.getLogger(EnviarEmail.class.getName()).log(Level.SEVERE, null, ex);
    }
    return null;
}
}

class 2

package enviaremail;
public class JavaMailUtil {

public static void main(String[] args) throws Exception {

EnviarEmail.sendEmail(<a>"[email removido]</a>");

}

}

Exception in thread main java.lang.NoClassDefFoundError: javax/activation/DataHandler

at enviaremail.EnviarEmail.prepareMessage(EnviarEmail.java:53)

at enviaremail.EnviarEmail.sendEmail(EnviarEmail.java:42)

at enviaremail.JavaMailUtil.main(JavaMailUtil.java:5)

Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

#Eu inclui o javax.mail.jar mais esta dando este error acima

Criado 10 de agosto de 2020
Respostas 0
Participantes 1