# JavaMail API Problem



## vxfox05 (12. Mai 2005)

Hi,
Ich bin ziemlich neu in Java (VB/C für mich) und schreibe gerade einen einfachen EmailClient.
Bekomme dabei aber immer die gleiche meldung (es Kompiliert ohne Fehler msgs aber beim ausführen bekomme ich probleme):

DEBUG: setDebug: JavaMail version1.32
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/act
ivation/DataSource
	at Mailer.actionPerformed(Mailer.java:85)
	at java.awt.Button.processActionEvent(Button.java:388)
	at java.awt.Button.processEvent(Button.java:356)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Component.dispatchEvent(EventQueue.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Sieht so aus also obs was mit der awt zu tun hätte, aber es klappt auch nicht wenn ich's anders versuche.
hier ist ein teil vom code, danke:


```
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;

public class Mailer extends Frame implements ActionListener {
	
	String hostName;
	int port = 25;
	private Socket smtpSocket = null;
	private DataOutputStream os = null;
	private DataInputStream is = null;
    Button send = new Button("Send");
    	Button connect = new Button("Connect");
        TextField server = new TextField("mail.eircom.net");
        TextField to = new TextField("tosomeone@eircom.net");
        TextField from = new TextField("fromsomeone@eircom.net");
        TextField subject = new TextField("Subject");
        TextField body = new TextField("Body");
        
    Mailer (String title){
    	super(title);
    	setLayout(null);
    	
        server.setBounds(20,90,170,20);
        
        to.setBounds(20,120,170,20);
        
        from.setBounds(20,150,170,20);
        
        subject.setBounds(20,180,170,20);
        
        body.setBounds(20,210,500,200);
        connect.setBounds(90,40,70,30);
        send.setBounds(20,40,50,30);
    	add(send);
        add(to);
        add(from);
        add(server);
        add(subject);
        add(body);
        add(connect);
        addWindowListener(new WindowHandler());
        send.addActionListener(this);
        
        
        //end GUI. Start mail
        
        
      
        
    }
    
    class WindowHandler extends WindowAdapter
    {
    	public void windowClosing(WindowEvent e)
    	{
    		System.exit(0);
    	}
    }
    
 
    	
    	
    	public void actionPerformed(ActionEvent evt)
    	{
    		if(evt.getSource()==send)
    		{
    			to.setText("IT WORX");
    		String msg_recip = "setec@eircom.net";
        String msg_subject = "test email";
        String msg_body = "test";
        Message mesg;
    	Session session;
    	Properties props = new Properties();
    	props.put("mail.eircom.net", "www.eircom.net");
    	session = Session.getDefaultInstance(props, null);
    	session.setDebug(true); 
    	try {
    		mesg = new MimeMessage(session);
    		
    		mesg.setFrom(new InternetAddress("setec@eircom.net"));
    		InternetAddress toAddress = new InternetAddress(msg_recip);
    		mesg.addRecipient(Message.RecipientType.TO, toAddress);
    		.setContent("Hello", "text/plain");
    		mesg.setSubject(msg_subject);
    		mesg.setText("Hello");
    		Transport.send(mesg);
    	}
    	catch (MessagingException ex){
    		while((ex = (MessagingException)ex.getNextException()) != null){
    			ex.printStackTrace();
    		}
    	}
    			
    		} 
    
} 
 
    public static void main(String[] args) {
    	Mailer window = new Mailer("XMail");
    	window.pack();
    	window.setVisible(true);
    	
         
    }
    
  
    

 public void send(BufferedReader in, BufferedWriter out, String s) {
   try {
      out.write(s + "\n");
      out.flush();
      System.out.println(s);
      s = in.readLine();
      System.out.println(s);
      }
   catch (Exception e) {
      e.printStackTrace();
      }
   }
}
```


----------



## DP (12. Mai 2005)

java.lang.NoClassDefFoundError: javax/activation/DataSource 

du musst die mail-jars in deine classpath packen oder den pfad angeben.

cu


----------



## vxfox05 (12. Mai 2005)

danke, aber das habe ich schon getan. Klapt aber immer noch nicht


----------



## Bleiglanz (13. Mai 2005)

mail.jar UND activation.jar?


----------



## vxfox05 (13. Mai 2005)

yep, mail.jar und activation.jar 
I hab JCreator Pro und IntelliJ aber es klappt einfach nicht. Kannst du mir vieleicht helfen?
v. Danke


----------



## Bleiglanz (17. Mai 2005)

keine Ahnung?

die Frage ist, ob die beiden zur Runtime im Classpath sind, das kann ich jetzt auch nicht erraten?

Könnte es sein, dass du activation.jar vergessen hast? die wird nämlich zu übersetzen teilweise nicht gebraucht...


----------



## vxfox05 (18. Mai 2005)

nein, Ich habe auch activation.jar Könnte es am Compiler liegen? Obwohl IntelliJ normaler weise keine probleme macht...


----------



## Bleiglanz (18. Mai 2005)

wie "hast" du sie? Ich meine, auf welche Art ist die in dein Projekt integriert??

Unter Intellij muss es in Project Settings > Libraries unter "Module Libraries" enthalten sein


----------



## vxfox05 (19. Mai 2005)

ja dort sind sie drin. Ich habe alles nochmals angeffangen. Jetzt klappt es zwar, aber ich hab immer noch probleme:
W. du warum ich diese f.meldung bekomme:
danke,
DEBUG: setDebug: JavaMail version 1.3.2
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.net.ConnectException
	at Mailer.actionPerformed(Mailer.java:84)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1766)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


----------



## DP (19. Mai 2005)

weil dein mailserver nicht läuft?!


----------



## vxfox05 (19. Mai 2005)

yep, habs grade herausgefunden, trotzdem vielen Dank an alle


----------

