import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; public class SendMail extends JFrame { private JTextField domain = new JTextField("dsv.su.se"); private JTextField host = new JTextField("mail.dsv.su.se"); private JTextField port = new JTextField("25"); private JTextField from = new JTextField(); private JTextField subject = new JTextField("t e s t"); private JTextField to = new JTextField(); private JTextArea messageArea = new JTextArea("Ditt meddelande här!"); private JTextArea systemArea = new JTextArea(); public static void main(String[] args) { new SendMail(); } public SendMail() { JLabel domainL = new JLabel("Domain:"); domain.setColumns(12); JLabel hostL = new JLabel("Host:"); host.setColumns(12); JLabel portL = new JLabel("Port:"); port.setColumns(12); JLabel fromL = new JLabel("From:"); from.setColumns(12); JLabel subjectL = new JLabel("Subject:"); subject.setColumns(12); JLabel toL = new JLabel("To:"); to.setColumns(12); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(7, 2)); panel.add(domainL); panel.add(domain); panel.add(hostL); panel.add(host); panel.add(portL); panel.add(port); panel.add(fromL); panel.add(from); panel.add(subjectL); panel.add(subject); panel.add(toL); panel.add(to); JButton button = new JButton("Send"); button.addActionListener(new L()); JPanel panelArea = new JPanel(); panelArea.setLayout(new GridLayout(2, 1)); panelArea.add(new JScrollPane(messageArea)); panelArea.add(new JScrollPane(systemArea)); getContentPane().add("North", panel); getContentPane().add("South", button); getContentPane().add("Center", panelArea); setSize(640, 400); show(); } private void send(String message) { try { Socket socket = new Socket(host.getText(), new Integer(port.getText()).intValue()); setTitle("CONNECTED TO: " + host.getText() + " - ON PORT: " + port.getText()); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); systemArea.append(in.readLine() + "\n"); out.println("HELO " + domain.getText()); systemArea.append("HELO " + domain.getText() + "\n"); systemArea.append(in.readLine() + "\n"); out.println("MAIL FROM: " + from.getText()); systemArea.append("MAIL FROM: " + from.getText() + "\n"); systemArea.append(in.readLine() + "\n"); out.println("RCPT TO: " + to.getText()); systemArea.append("RCPT TO: " + to.getText() + "\n"); systemArea.append(in.readLine() + "\n"); out.println("MAIL SUBJECT: " + subject.getText()); systemArea.append("MAIL SUBJECT: " + subject.getText() + "\n"); systemArea.append(in.readLine() + "\n"); out.println("DATA"); systemArea.append("DATA" + "\n"); systemArea.append(in.readLine() + "\n"); out.println("Subject: " + subject.getText() + "\n"); systemArea.append("Subject: " + subject.getText() + "\n"); out.println(message); systemArea.append(message + "\n"); out.println("."); systemArea.append("." + "\n"); systemArea.append(in.readLine() + "\n"); out.println("QUIT"); systemArea.append("QUIT" + "\n"); systemArea.append(in.readLine() + "\n"); in.close(); out.close(); } catch (IOException e) {} } class L implements ActionListener { public void actionPerformed(ActionEvent ae) { send(messageArea.getText()); } } }