import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.logging.*;
import java.util.Properties;
public class Hw1 {
public static void SendingMal(String recepient) throws Exception {
System.out.println("preparing to send");
Properties pro = new Properties();
pro.put("mail.stmp.auth","true");
pro.put("mail.stmp.starttls.enable", "true");
pro.put("mail.stmp.host","smtp.gmail.com");
pro.put("mail.stmp.port", "587");
String myemail="from@gmail.com";
String pass = "pass";
Session sess= Session.getInstance(pro, new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(myemail, pass);
}
});
Message mess = preporeMessage(sess,myemail,recepient);
Transport.send(mess);
System.out.print("Message sent succesfully");
}
private static Message preporeMessage(Session sess,String myemail, String recepient ) {
try {
Message mess = new MimeMessage(sess);
mess.setFrom(new InternetAddress(myemail));
mess.setRecipient (Message.RecipientType.TO, new InternetAddress(recepient));
mess.setSubject("Hi there");
mess.setText("Hey there,\n My frist email sending through Java");
return mess;`enter code here`
}
catch (Exception e) {
Logger.getLogger(Hw1.class.getName()).log(Level.SEVERE,null,e);
}
return null;
}
}
public class SendingMail {
`enter code here`public static void main(String[]args) throws Exception {
`enter code here`Hw1.SendingMal("to@gmail.com");
This is what I am getting:
preparing to send Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource at Hw1.preporeMessage(Hw1.java:49) at Hw1.SendingMal(Hw1.java:37) at SendMail.main(SendMail.java:22) Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource 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:521) ... 3 more