Я попробовал делать программу для того, чтобы он послал 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
Я не понимаю, где - ошибка, спасибо заранее
У тебя есть одна 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