import java.awt.*; import java.awt.event.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.swing.*; /** * @author emi-lind * */ public class MailSender extends JFrame { private JTextField _serverField; private JTextField _fromField; private JTextField _toField; private JTextField _subjectField; private JTextArea _messageArea; private JButton _sendButton; /** * @param args not used */ public static void main(String[] args) { new MailSender(); } public MailSender() { super("Mail Sender 1.0"); setSize(600,350); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Create GUI int fieldLength = 20; _serverField = new JTextField(fieldLength ); _serverField.setText(System.getProperty("mail.host", "").toString()); _fromField = new JTextField(fieldLength ); _fromField.setText(System.getProperty("mail.from", "").toString()); _toField = new JTextField(fieldLength ); _subjectField = new JTextField(fieldLength ); _messageArea = new JTextArea(); _sendButton = new JButton("Send"); JPanel northPanel = new JPanel(); northPanel.setLayout(new GridLayout(2, 2)); JPanel tmp = new JPanel(new FlowLayout(FlowLayout.LEFT)); tmp.add(new JLabel("Server:")); tmp.add(_serverField); northPanel.add(tmp); tmp = new JPanel(new FlowLayout(FlowLayout.LEFT)); tmp.add(new JLabel("From:")); tmp.add(_fromField); northPanel.add(tmp); tmp = new JPanel(new FlowLayout(FlowLayout.LEFT)); tmp.add(new JLabel("Subject:")); tmp.add(_subjectField); northPanel.add(tmp); tmp = new JPanel(new FlowLayout(FlowLayout.LEFT)); tmp.add(new JLabel("To:")); tmp.add(_toField); northPanel.add(tmp); Container c = getContentPane(); c.add(_messageArea, BorderLayout.CENTER); c.add(_sendButton, BorderLayout.SOUTH); c.add(northPanel, BorderLayout.NORTH); validate(); _sendButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent aev) { try { // Send e-mail Properties props = new Properties(); props.put("mail.host", _serverField.getText().trim()); Session mailConnection = Session.getInstance(props, null); final Message msg = new MimeMessage(mailConnection); msg.setContent(_messageArea.getText(), "text/plain"); msg.setFrom(new InternetAddress(_fromField.getText().trim())); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(_toField.getText().trim())); msg.setSubject(_subjectField.getText()); _sendButton.setText("Sending..."); Transport.send(msg); _sendButton.setText("Send"); _messageArea.setText(""); } catch (Exception exc) { System.out.println(exc); } } }); } }