`
holoblog
  • 浏览: 1227224 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:18924
文章分类
社区版块
存档分类
最新评论

查看邮件信息列表

 
阅读更多

下面是查看邮件信息列表的JAVA代码:

import javax.mail.Store;
import javax.mail.FetchProfile;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;

public class Semail {
public static void main(String[] args) {
try {

Properties props = new Properties();
Session s = Session.getInstance(props);
Store store = s.getStore("pop3");
store.connect("pop.163.com", "bluebit_cn", "xiaohao");

Folder folder = store.getFolder("Inbox");
folder.open(Folder.READ_WRITE);

FetchProfile profile = new FetchProfile();
profile.add(FetchProfile.Item.ENVELOPE);
Message arraymessage[] = folder.getMessages();
folder.fetch(arraymessage, profile);

System.out.println("收件箱的邮件数:" + arraymessage.length);
for (int i = 0; i < arraymessage.length; i++) {
//邮件发送者
String from = arraymessage[i].getFrom()[0].toString();
InternetAddress ia = new InternetAddress(from);
System.out.println("FROM:" + ia.getPersonal() + '(' +
ia.getAddress() + ')');
//邮件标题
System.out.println("TITLE:" + arraymessage[i].getSubject());
//邮件大小
System.out.println("SIZE:" + arraymessage[i].getSize());
//邮件发送时间
System.out.println("DATE:" + arraymessage[i].getSentDate());
}

folder.close(false);
store.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}



==删除=====================
QuestionHow do you delete a message from the mail server?
Derived fromAn unanswered question originally posed by Benjamin Alejandro Rodriguez Rengifo
TopicsJava:API:JavaMail:IMAP4, Java:API:JavaMail:POP3
AuthorJohn Zukowski
Created23-Feb-00Modified25-Jul-00


Answer

The basic process of deleting a message is to call setFlag() on the message and set the Flags.Flag.DeleteD flag to true.

message.setFlag(Flags.Flag.DeleteD, true);

Then, when you close the folder, deleted messages will be removed.

Be sure to open the folder for read/write access:

folder.open(Folder.READ_WRITE);

The following program demonstrates listing each message in the folder and prompting for deletion:

import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;

public class DeleteMessageExample {
public static void main (String args[]) throws Exception {
String host = args[0];
String username = args[1];
String password = args[2];

// Get session
Session session = Session.getInstance(
System.getProperties(), null);

// Get the store
Store store = session.getStore("pop3");
store.connect(host, username, password);

// Get folder
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);

BufferedReader reader = new BufferedReader (
new InputStreamReader(System.in));

// Get directory
Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0]
+ "\t" + message[i].getSubject());

System.out.println("Do you want to delete message? [YES to delete]");
String line = reader.readLine();
// Mark as deleted if appropriate
if ("YES".equals(line)) {
message[i].setFlag(Flags.Flag.DeleteD, true);
}
}

// Close connection
folder.close(true);
store.close();
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics