?? monitor.java
字號:
package ch08.section10;
import java.io.*;
import java.util.*;
import javax.activation.*;
import javax.mail.*;
import javax.mail.event.*;
public class monitor {
public static void main(String argv[]) {
String[] p = {
"10.198.0.11", "wei", "wei", "inbox", "2"};
System.out.println("\n郵件監控測試\n");
try {
Properties props = System.getProperties();
// 得到session對象
Session session = Session.getDefaultInstance(props, null);
// 得到Store對象
Store store = session.getStore("imap");
// 鏈接郵件服務器
store.connect(p[0], p[1], p[2]);
// 打開Folder
Folder folder = store.getFolder(p[3]);
if (folder == null || !folder.exists()) {
System.out.println("錯誤的folder");
System.exit(1);
}
folder.open(Folder.READ_WRITE);
// 使用 messageCountListener 監聽新郵件
folder.addMessageCountListener(new MessageCountAdapter() {
public void messagesAdded(MessageCountEvent ev) {
Message[] msgs = ev.getMessages();
System.out.println("有 " + msgs.length +
" 條新消息");
//讀取新郵件
for (int i = 0; i < msgs.length; i++) {
try {
DataHandler dh = msgs[i].getDataHandler();
InputStream is = dh.getInputStream();
int c;
while ( (c = is.read()) != -1) {
System.out.write(c);
}
}
catch (IOException ioex) {
ioex.printStackTrace();
}
catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
});
// 每隔"p[4]" 毫秒檢查一次郵件
int freq = Integer.parseInt(p[4]);
for (; ; ) {
Thread.sleep(freq);
folder.getMessageCount();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -