import javax.mail.*; import javax.mail.internet.*; import java.util.*; import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.io.*; import javax.swing.event.*; import javax.swing.border.*; //import sun.net.smtp.*; public class MailReceiver extends JFrame{ private JButton receiver = new JButton("Recieve"); private JLabel userl = new JLabel("Username: "); private JLabel passl = new JLabel("Password: "); private JLabel hostl = new JLabel("Smtp Server: "); private JTextField passf = new JTextField(40); private JTextField userf = new JTextField(40); private JTextField hostf = new JTextField(40); private JTextArea message = new JTextArea(30, 20); private JScrollPane jsp = new JScrollPane(message); public MailReceiver(){ super("Mail Server"); //Grafik med alla möjliga lyssnare läggs i en gridlayout till slut getContentPane().setLayout(new BorderLayout()); JPanel labels = new JPanel(); labels.setLayout(new GridLayout(4, 1)); hostl.setForeground(Color.black); labels.add(hostl); JPanel fields=new JPanel(); fields.setLayout(new GridLayout(4, 1)); String hostprop = System.getProperty("mail.host", ""); hostf.setText(hostprop); hostf.addFocusListener(new FocusAdapter(){ public void focusGained(FocusEvent e){ hostl.setForeground(new Color(98,156,245)); } }); hostf.addFocusListener(new FocusAdapter(){ public void focusLost(FocusEvent e){ hostl.setForeground(Color.black); } }); labels.add(userl); fields.add(hostf); hostf.setText("mail.dsv.su.se"); userl.setForeground(Color.black); passf.addFocusListener(new FocusAdapter(){ public void focusGained(FocusEvent e){ passl.setForeground(new Color(98,156,245)); } }); passf.addFocusListener(new FocusAdapter(){ public void focusLost(FocusEvent e){ passl.setForeground(Color.black); } }); fields.add(userf); passl.setForeground(Color.black); labels.add(passl); fields.add(passf); Box north = Box.createHorizontalBox(); north.add(labels); north.add(fields); //font i textfältet!! message.setFont(new Font("SansSerif",Font.BOLD,14)); jsp.setBorder(new TitledBorder(new EtchedBorder(),"Mail Message")); JPanel p4=new JPanel(new FlowLayout()); receiver.setMnemonic('e'); p4.add(receiver); //anropa en ActionPerformed class:: receiver.addActionListener(new ReceiveAction()); //lägg till komponenterna i "containern" getContentPane().add(north,BorderLayout.NORTH); getContentPane().add(jsp,BorderLayout.CENTER); getContentPane().add(p4,BorderLayout.SOUTH); setSize(600,500); setResizable(false); setVisible(true); //lägg allt i en rad!! addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } // metod för att sända meddelandet public void Receive(){ String host = hostf.getText().trim(); String username = userf.getText().trim(); String password = passf.getText().trim(); String provider = "pop3"; ArrayList samling = new ArrayList(); try { Properties props = new Properties(); props.put("mail.smtp.host", host); Session session = Session.getDefaultInstance(props, null); Store store = session.getStore(provider); store.connect(host,username,password); //öppna inboxen Folder inbox = store.getFolder("INBOX"); if (inbox == null){ message.setText("Ingen Inbox"); System.exit(1); } //endast läsbar inbox.open(Folder.READ_ONLY); //ställer in att vi vill hämta meddelande 1 - 20 Message[] messages = inbox.getMessages(1,20); for (int i=0; i