Email Exception mit javaee.jar

Steffen01

Mitglied
Hallo,

ich habe folgendes Problem.
Ich möchte via Java eine Email versenden.

Ich verwende die Jar javaee.jar. Wenn ich nun das Programm Starte

Code:
import java.util.Date;
import java.util.Properties;
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;

/**
 * 
 * @author zeja
 * 
 */

public class SendMailExample {

	public void sendMail(String smtpHost, String username, String password,
			String senderAddress, String recipientsAddress, String subject,
			String text) {

		MailAuthenticator auth = new MailAuthenticator(username, password);

		Properties properties = new Properties();

		// Den Properties wird die ServerAdresse hinzugefügt

		properties.put("mail.smtp.host", smtpHost);

		// !!Wichtig!! Falls der SMTP-Server eine Authentifizierung

		// verlangt

		// muss an dieser Stelle die Property auf "true" gesetzt

		// werden

		properties.put("mail.smtp.auth", "true");

		// Hier wird mit den Properties und dem implements Contructor

		// erzeugten

		// MailAuthenticator eine Session erzeugt

		Session session = Session.getDefaultInstance(properties, auth);

		try {

			// Eine neue Message erzeugen

			Message msg = new MimeMessage(session);

			// Hier werden die Absender- und Empfängeradressen gesetzt

			msg.setFrom(new InternetAddress(senderAddress));

			msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(

			recipientsAddress, false));

			// Der Betreff und Body der Message werden gesetzt

			msg.setSubject(subject);

			msg.setText(text);

			// Hier lassen sich HEADER-Informationen hinzufügen

			msg.setHeader("Test", "Test");

			msg.setSentDate(new Date());

			// Zum Schluss wird die Mail natürlich noch verschickt

			Transport.send(msg);

		}

		catch (Exception e) {

			e.printStackTrace();

		}

	}

	class MailAuthenticator extends Authenticator {

		/**
		 * 
		 * Ein String, der den Usernamen nach der Erzeugung eines
		 * 
		 * Objektes<br>
		 * 
		 * dieser Klasse enthalten wird.
		 * 
		 */

		private final String user;

		/**
		 * 
		 * Ein String, der das Passwort nach der Erzeugung eines
		 * 
		 * Objektes<br>
		 * 
		 * dieser Klasse enthalten wird.
		 * 
		 */

		private final String password;

		/**
		 * 
		 * Der Konstruktor erzeugt ein MailAuthenticator Objekt<br>
		 * 
		 * aus den beiden Parametern user und passwort.
		 * 
		 * 
		 * 
		 * @param user
		 * 
		 * String, der Username fuer den Mailaccount.
		 * 
		 * @param password
		 * 
		 * String, das Passwort fuer den Mailaccount.
		 * 
		 */

		public MailAuthenticator(String user, String password) {

			this.user = user;

			this.password = password;

		}

		/**
		 * 
		 * Diese Methode gibt ein neues PasswortAuthentication
		 * 
		 * Objekt zurueck.
		 * 
		 * 
		 * 
		 * @see javax.mail.AuthenticatorgetPasswordAuthentication()
		 * 
		 */

		protected PasswordAuthentication getPasswordAuthentication() {

			return new PasswordAuthentication(this.user, this.password);

		}

	}

	public static void main(String[] args) {

		
		String username = "";

		String password = "";

		String senderAddress = "";// someone@web.de

		String recipientsAddress = ""; // somereceiver@web.de

		String subject = "Test ";

		String text = "text";

		String smtpHost = "mail.hartnagel-software.de";

		new SendMailExample().sendMail(smtpHost, username, password,
				senderAddress, recipientsAddress, subject, text);
		

	}
}

kommt die Exception:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/MessageRemovedIOException
	at SendMailExample.sendMail(SendMailExample.java:53)
	at SendMailExample.main(SendMailExample.java:178)
Caused by: java.lang.ClassNotFoundException: com.sun.mail.util.MessageRemovedIOException
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 2 more

Jedoch brauche ich die Jar javaee.jar.

Denn wenn ich die mail.jar verwende und javaee.jar weg lasse bekomme ich keinen Fehler.

Kann mir einer sagen wie ich die Exception weg bekomme, so das ich die Jar javaee.jar doch einbinden kann.
 
Zurück