title: Need assistance setting up a class to send email, it gets called from the main class
body: <p>I am trying to send an email from my application when a user logs in for the first time. The email consists of a activation code.</p>
  
  <p>Update: I downloaded the latest javamail API and also the latest JAF (JavaBeans Activation Framework) and it does not compile due to imports being unknown symbols. How do I import from the javax package?</p>
  
  <p>Here is the code that I got so far:</p>
  
  <pre><code>import java.util.ArrayList;
  import javax.mail.Message;
  import javax.mail.MessagingException;
  import javax.mail.Session;
  import javax.mail.Transport;
  import javax.mail.internet.AddressException;
  import javax.mail.internet.InternetAddress;
  import javax.mail.internet.MimeMessage;
  
  public class Email {
      static String smtpHost;
      static int smtpPort;
      static String from;
      static String to;
      static String subject;
      static String content;
  
      public Email(String toEmail, String code){
          smtpHost = "localhost";
          smtpPort = 25;
          from = "admin@Nestroia.com";
          to = toEmail;
          subject = "Hello from Nestroia.com";
          content = "This is your activation code: " + code;
      }
  
      public Email(String toEmail, String name, String password){
          smtpHost = "localhost";
          smtpPort = 25;
          from = "admin@Nestroia.com";
          to = toEmail;
          subject = "Hello from Nestroia.com";
          content = "This is your Login information.\n"
                  + "Name: " + name + "\n"
                  + "Password: " + password;        
      }
  
      public static void send() throws AddressException, MessagingException {
  
          // Create a mail session
          java.util.Properties props = new java.util.Properties();
          props.put("mail.smtp.host", smtpHost);
          props.put("mail.smtp.port", ""+smtpPort);
          Session session = Session.getDefaultInstance(props, null);
  
          // Construct the message
          Message msg = new MimeMessage(session);
          msg.setFrom(new InternetAddress(from));
          msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
          msg.setSubject(subject);
          msg.setText(content);
  
          // Send the message
          Transport.send(msg);
  </code></pre>
  
  <p>Here is the stacktrace:</p>
  
  <pre><code>java.lang.RuntimeException: java.lang.ClassFormatError: Absent Code attribute in     method that is not native or abstract in class file javax/mail/Address
  at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
  at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
  at com.sun.glass.ui.View.notifyMouse(Unknown Source)
  at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
  at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
  at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
  at java.lang.Thread.run(Thread.java:722)
  Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/mail/Address
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
  at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
  at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
  at Nestroia.Nestroia_Main$6$1.handle(Nestroia_Main.java:669)
  at Nestroia.Nestroia_Main$6$1.handle(Nestroia_Main.java:559)
  at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
  at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
  at javafx.event.Event.fireEvent(Unknown Source)
  at javafx.scene.Node.fireEvent(Unknown Source)
  at javafx.scene.control.Button.fire(Unknown Source)
  at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown Source)
  at com.sun.javafx.scene.control.skin.SkinBase$5.handle(Unknown Source)
  at com.sun.javafx.scene.control.skin.SkinBase$5.handle(Unknown Source)
  at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
  at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
  at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
  at javafx.event.Event.fireEvent(Unknown Source)
  at javafx.scene.Scene$MouseHandler.process(Unknown Source)
  at javafx.scene.Scene$MouseHandler.process(Unknown Source)
  at javafx.scene.Scene$MouseHandler.access$1300(Unknown Source)
  at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
  at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
  ... 7 more
  </code></pre>