Mail problem med JAVA
Hej jeg sidder og er ved at lave en email klient. Jeg har lavet selve klienten og kan modtage mails osv, men den kode jeg har lavet vil simpelthen ikke afsende mails. Jeg får en del exceptions, men når jeg klikker på dem siger den at de ikke eksisterer, så det er svært at finde info om dem. Er der eventuelt en JAVA-kyndig der har mulighed for at smide koden ind i sit netbeans og se hvad der er galt? Koden kræver at man har javamail installeret/konfigureret.import java.awt.*;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.mail.*;
import javax.mail.event.*;
import javax.mail.internet.*;
public class EmailSend extends JFrame {
private JButton sendButton = new JButton("Send Besked");
private JLabel fromLabel = new JLabel("Afsender: ");
private JLabel toLabel = new JLabel("Modtager: ");
private JLabel hostLabel = new JLabel("SMTP Server: ");
private JLabel subjectLabel = new JLabel("Emne: ");
private JTextField fromField = new JTextField(40);
private JTextField toField = new JTextField(40);
private JTextField hostField = new JTextField(40);
private JTextField subjectField = new JTextField(40);
private JTextArea besked = new JTextArea(40, 72);
private JScrollPane jsp = new JScrollPane(besked);
public EmailSend( ) {
super("Send Email");
Container contentPane = this.getContentPane( );
contentPane.setLayout(new BorderLayout( ));
JPanel labels = new JPanel( );
labels.setLayout(new GridLayout(4, 1));
labels.add(hostLabel);
JPanel fields = new JPanel( );
fields.setLayout(new GridLayout(4, 1));
String host = System.getProperty("mail.host", "");
hostField.setText(host);
fields.add(hostField);
labels.add(toLabel);
fields.add(toField);
String from = System.getProperty("mail.from", "");
fromField.setText(from);
labels.add(fromLabel);
fields.add(fromField);
labels.add(subjectLabel);
fields.add(subjectField);
Box north = Box.createHorizontalBox( );
north.add(labels);
north.add(fields);
contentPane.add(north, BorderLayout.NORTH);
besked.setFont(new Font("Monospaced", Font.PLAIN, 12));
contentPane.add(jsp, BorderLayout.CENTER);
JPanel south = new JPanel( );
south.setLayout(new FlowLayout(FlowLayout.CENTER));
south.add(sendButton);
sendButton.addActionListener(new SendAction( ));
contentPane.add(south, BorderLayout.SOUTH);
this.pack( );
}
class SendAction implements ActionListener {
public void actionPerformed(ActionEvent evt) {
try {
Properties props = new Properties( );
props.put("mail.host", hostField.getText( ));
Session mailConnection = Session.getInstance(props, null);
final Message msg = new MimeMessage(mailConnection);
Address to = new InternetAddress(toField.getText( ));
Address from = new InternetAddress(fromField.getText( ));
msg.setContent(besked.getText( ), "text/plain");
msg.setFrom(from);
msg.setRecipient(Message.RecipientType.TO, to);
msg.setSubject(subjectField.getText( ));
Runnable r = new Runnable( ) {
public void run( ) {
try {
Transport.send(msg);
}
catch (Exception ex) {
ex.printStackTrace( );
}
}
};
Thread t = new Thread(r);
t.start( );
besked.setText("");
}
catch (Exception ex) {
ex.printStackTrace( );
}
}
}
@SuppressWarnings("deprecation")
public static void main(String[] args) {
EmailSend client = new EmailSend( );
client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
client.show( );
}
}
