Getting error when sending email through Java

Viewed 12
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

0 Answers
Related