?? readmail.java
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import javax.mail.*;
public class ReadMail extends JFrame implements ActionListener {
private String smtphost; //郵件服務器
private String username; //用戶名
private String password; //密碼
private JLabel labels[] = new JLabel[3];
private JTextField textFields[] = new JTextField[3];
private JTextArea content;
private JButton get;
private JPanel msgPanel, msgPanel2, messagePanel, buttonPanel;
private static final String labelNames[] = {"Host Address:","User Name:", "PassWord:"};
public ReadMail()
{
super("Read Mail");
//獲取內容面板
Container container = getContentPane();
//創建標簽,文本域
for(int i = 0; i < labels.length; i++)
{
labels[i] = new JLabel(labelNames[i], JLabel.RIGHT);
labels[i].setOpaque(true);
labels[i].setBackground(new Color(200, 255, 255)); //設置標簽背景色
textFields[i] = new JTextField(20);
}
//創建密碼域
textFields[2] = new JPasswordField(20);
content = new JTextArea(30, 30);
content.setFont(new Font("Serif", Font.PLAIN, 14));
content.setLineWrap(true);
content.setWrapStyleWord(true);
//創建按鈕,注冊監聽器
get= new JButton("Get");
get.addActionListener(this);
//創建面板
msgPanel = new JPanel(new GridLayout(3,1));
msgPanel2 = new JPanel(new GridLayout(3,1));
msgPanel.setBorder(BorderFactory.createMatteBorder(2,2,2,2,new Color(200,255,255)));
msgPanel2.setBorder(BorderFactory.createMatteBorder(2,2,2,2,new Color(200,255,255)));
for(int i = 0; i < labels.length; i++)
{
msgPanel.add(labels[i]);
msgPanel2.add(textFields[i]);
}
messagePanel = new JPanel(new BorderLayout());
messagePanel.setBorder(BorderFactory.createMatteBorder(2,2,2,2,new Color(200,255,255)));
buttonPanel = new JPanel();
//往面板里添加組件
buttonPanel.add(get);
messagePanel.add(msgPanel, BorderLayout.WEST);
messagePanel.add(msgPanel2, BorderLayout.CENTER);
container.add(messagePanel, BorderLayout.NORTH);
container.add(new JScrollPane(content), BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.SOUTH);
}
public static void main(String[] args)
{
ReadMail demo = new ReadMail();
demo.setSize(400,400);
demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
demo.show();
}
//處理按鈕事件
public void actionPerformed(ActionEvent event)
{
if(event.getSource() == get)
{
smtphost = textFields[0].getText().trim();
username = textFields[1].getText().trim();
password = new String(((JPasswordField)textFields[2]).getPassword());
getMail();
}
}
//接收郵件
private void getMail()
{
//獲取屬性
Properties props = new Properties();
//獲取Session
Session session = Session.getDefaultInstance(props, null);
try
{
//獲取Store
Store store = session.getStore("pop3");
store.connect(smtphost, username, password);
//獲取文件夾
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
//獲取目錄
Message message[] = folder.getMessages();
for(int i = 0; i < message.length; i++){
content.append((i+1) + ": " + message[i].getFrom()[0] + "\n");
content.append(message[i].getSubject() + "\n");
content.append(message[i].getContent().toString());
}
}
catch(MessagingException me)
{
me.printStackTrace(System.out);
}
catch(IOException ie){
ie.printStackTrace(System.out);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -