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 to = new JTextField(); private JTextField subject = new JTextField("Test"); private JTextArea message = new JTextArea("Hej hopp!"); private JTextField host = new JTextField("smtp.gmail.com"); private JTextField port = new JTextField("465"); private JTextField username = new JTextField(); private JTextField password = new JTextField(); public static void main(String[] args) { new MailSender(); } public MailSender() { setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(7, 2)); panel.add(new JLabel("To:")); panel.add(to); panel.add(new JLabel("Subject:")); panel.add(subject); panel.add(new JLabel("Host:")); panel.add(host); panel.add(new JLabel("Port:")); panel.add(port); panel.add(new JLabel("Anvandarnamn:")); panel.add(username); panel.add(new JLabel("Losenord:")); panel.add(password); 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 prop = new Properties(); prop.put("mail.smtp.host", host.getText()); prop.put("mail.smtp.port", port.getText()); prop.put("mail.smtp.auth", "true"); prop.put("mail.smtp.socketFactory.port", port.getText()); prop.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); if(port.getText().equals("587")) prop.put("mail.smtp.starttls.enable", "true"); Session session = Session.getInstance(prop, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username.getText(), password.getText()); } }); try { Message mimeMessage = new MimeMessage(session); mimeMessage.setFrom(new InternetAddress(username.getText())); mimeMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to.getText())); mimeMessage.setSubject(subject.getText()); mimeMessage.setText(message.getText()); Transport.send(mimeMessage); System.out.println("Klar!"); } catch (MessagingException e) { e.printStackTrace(); } } class L implements ActionListener { public void actionPerformed(ActionEvent ae) { send(); } } }