E-Mail per Java verschicken

Nesselbrand

Bekanntes Mitglied
Ich habe versucht eine E-Mail mit Java zu verschicken:
Code:
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class SendEMail {



    public static void sendMail(String recepient) throws MessagingException {
        String pwd = "xxx";
        String adress = "yyy";

        Properties p = new Properties();

        p.put("mail.smpt.auth", "true");
        p.put("mail.smpt.starttls.enable", "true");
        p.put("mail.smpt.host", "smpt.gmail.com");
        p.put("mail.smpt.port", "587");

        Session s = Session.getInstance(p, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(adress, pwd);
            }
        });

        Message m = prepareMessage(s, adress, recepient);

        Transport.send(m);
    }

    private static Message prepareMessage(Session session, String adress, String recepient) throws MessagingException {
        Message m = new MimeMessage(session);
        m.setFrom(new InternetAddress(adress));
        m.setRecipient(Message.RecipientType.TO, new InternetAddress(recepient));
        m.setSubject("Test");
        m.setText("test test test \n test test test");
        return m;
    }
}
Ich habe dann die Methode aufgerufen:
Code:
    public static void main(String [] args) throws MessagingException {     
        sendMail("ccc");
    }
Ich habe dann diese FehlerMeldung bekommen:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataHandler
at AnhancedKeyLogger.SendEMail.prepareMessage(SendEMail.java:36)
at AnhancedKeyLogger.SendEMail.sendMail(SendEMail.java:30)
at AnhancedKeyLogger.Main.sendMail(Main.java:33)
at AnhancedKeyLogger.Main.main(Main.java:15)
Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 4 more

Um die E-mail zu verschicken habe ihc die JavaMail API eingebunden.

Wie kann ich dieses Problem fixen?
Schonmal Danke im Vorraus
 
Hat sich erledigt.
Habe nicht gewusst, dass die JavaMailApi andere Klassen brauhc um genutzt werden zu können.
Habe diese dann über Maven importieren Lassen.
Trotzdem Danke
 

Zurück
Oben