Ошибка, послав E-mail с Java

Я попробовал делать программу для того, чтобы он послал E-mail, выполнив App, только это хочу пока, после я буду способствовать тому, чтобы, если выполняется условие, он был послан в серию контактов в каждый день, питая эти контакты с базы данных, но я не добиваюсь того, чтобы он послал почту доказательства, чтобы видеть, функционирует ли оно, я остался несколько руководителей, но они не подают меня.

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

public class EmailSenderService {
private final Properties properties = new Properties();

private String password;

private Session session;

private void init() {

    properties.put("mail.smtp.host", "mail.gmail.com");
    properties.put("mail.smtp.starttls.enable", "true");
    properties.put("mail.smtp.port",25);
    properties.put("mail.smtp.mail.sender","emisor@gmail.com");
    properties.put("mail.smtp.user", "usuario");
    properties.put("mail.smtp.auth", "true");

    session = Session.getDefaultInstance(properties);
}

public void sendEmail(){

    init();
    try{
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress((String)properties.get("mail.smtp.mail.sender")));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress("receptor@gmail.com"));
        message.setSubject("Prueba");
        message.setText("Texto");
        Transport t = session.getTransport("smtp");
        t.connect((String)properties.get("mail.smtp.user"), "password");
        t.sendMessage(message, message.getAllRecipients());
        t.close();
    }catch (MessagingException me){
                    //Aqui se deberia o mostrar un mensaje de error o en lugar
                    //de no hacer nada con la excepcion, lanzarla para que el modulo
                    //superior la capture y avise al usuario con un popup, por ejemplo.
        return;
    }

}

}

Ошибка, которая дает мне:

Exception in thread "main" java.lang.NoClassDefFoundError: 
javax/activation/DataHandler
at 
EnvioEmail/Archivos.EmailSenderService.sendEmail(EmailSenderService.java:34)
at EnvioEmail/Archivos.Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 2 more

Я не понимаю, где - ошибка, спасибо заранее

1
задан 06.11.2019, 10:42
1 ответ

У тебя есть одна excepciГіn ClassNotFoundException (не расположенный напротив Класс).

Это значит, что у тебя нет во времени ejecuciГіn пакета, где былся класс javax.activation.DataHandler.

Вероятно твой IDE (Затмение, или Netbeans, из-за того, что два знакомых назначают встречу) estГЎ работая в способе совместимых с Java 8, где вышеупомянутый класс - часть JavaSE (он приходит по умолчанию).

В Java 9 пакет javax.activation был помечен как Deprecated , (разубежденный), потому что в новых версиях вышеупомянутый пакет desaparecerГ - в JavaSE (все повернулось модулировать, доступные назначенные по умолчанию классы меньше).

В Java 11 вышеупомянутый пакет уже не estГЎ доступный, с которым ты нуждаешься aГ±adirlo как одна librerГ - в приходящей ученице. Ты можешь использовать Джакарта Activation

1
ответ дан 01.12.2019, 12:35
  • 1
    Я не понимаю, к которому он относится, что у меня этого нет во времени ejecució n – Acoidan Negrín Socorro 06.11.2019, 10:48
  • 2
    Я обновляю ответ – Pablo Lozano 06.11.2019, 10:59
  • 3
    Большое спасибо я это протестирую – Acoidan Negrín Socorro 06.11.2019, 11:06
  • 4
    Тысячи спасибо compañ ero я я функционирую – Acoidan Negrín Socorro 06.11.2019, 11:10

Теги

Похожие вопросы