import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class MailSender extends JFrame { private JTextField from = new JTextField(); private JTextField to = new JTextField(); private JTextField subject = new JTextField(); private JTextArea message = new JTextArea(); public static void main(String[] args) { new MailSender(); } public MailSender() { setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(6, 2)); panel.add(new JLabel("From:")); panel.add(from); panel.add(new JLabel("To:")); panel.add(to); panel.add(new JLabel("Subject:")); panel.add(subject); JButton button = new JButton("Send"); button.addActionListener(new L()); getContentPane().add("North", panel); getContentPane().add("South", button); getContentPane().add("Center", new JScrollPane(message)); setSize(640, 400); setVisible(true); } public void send() { Properties props = new Properties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.host", "smtp.su.se"); props.put("mail.smtp.auth", "false"); props.put("mail.smtp.port", "25"); props.put("mail.smtp.starttls.enable", true); //props.put("mail.smtp.auth", "true"); //props.put("mail.smtp.port", "465"); //props.put("mail.smtp.port", "587"); // Funkar inte mot GMAIL //props.put("mail.smtp.socketFactory.port", "465"); //props.put("mail.smtp.socketFactory.port", "587"); // Funkar inte mot GMAIL //props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); //props.put("mail.smtp.socketFactory.fallback", "false"); //Authenticator auth = new SMTPAuthenticator(); //Session session = Session.getDefaultInstance(props, auth); // Avoid hang by setting timeout 6 seconds props.put("mail.smtp.timeout", "6000"); props.put("mail.smtp.connectiontimeout", "6000"); Session session = Session.getDefaultInstance(props); try { Transport transport = session.getTransport(); Message msg = new MimeMessage(session); InternetAddress ia = new InternetAddress(from.getText()); msg.setFrom(ia); InternetAddress[] ias = {new InternetAddress(to.getText())}; msg.setRecipients(Message.RecipientType.TO, ias); msg.setSubject(subject.getText()); msg.setText(message.getText()); transport.send(msg); } catch(MessagingException me) { System.out.println("MessagingException generated" + me); } } /* class SMTPAuthenticator extends javax.mail.Authenticator { public PasswordAuthentication getPasswordAuthentication() { String usernameTmp = username.getText(); String passwordTmp = password.getText(); return new PasswordAuthentication(usernameTmp, passwordTmp); } } */ class L implements ActionListener { public void actionPerformed(ActionEvent ae) { send(); } } }