还是不行牙 很奇怪牙 我一调这个方法就报错
我自己另写了一个测试的也是这样
package JavaMail;import javax.mail.*;public class JavaMail {
public JavaMail() {
} private Store openStore() throws Exception {
Store store;
//--[ Set up the default parameters // props.put("mail.debug", "true"); Session session = Session.getInstance(System.getProperties());
store = session.getStore("pop3");
// void javax.mail.Service.connect(String host, String user, String
// password) throws
// MessagingException
System.out.println("---------mail connecting--------------"); store.connect("pop.ruyi.com", "moblog", "123456");
System.out.println("---------mail connect OK--------------");
return store;
} private Folder openInbox(Store store) throws Exception {
Folder folder = store.getDefaultFolder();
if (folder == null) {
System.out.println("Problem occurred");
System.exit(1);
} Folder popFolder = folder.getFolder("INBOX");
popFolder.open(Folder.READ_WRITE);
return popFolder;
}
private void processAllMessages(Folder folder) throws Exception { Message listOfMessages[] = folder.getMessages();
FetchProfile fProfile = new FetchProfile();
fProfile.add(FetchProfile.Item.ENVELOPE);
folder.fetch(listOfMessages, fProfile); for (int i = 0; i < listOfMessages.length; i++) {
try {
Multipart multipart = (Multipart)listOfMessages[i].getContent();
System.out.println("start-------");
System.out.println(multipart.getCount());
System.out.println("end-------");
} catch (Exception e) {
e.printStackTrace();
} // Delete mail
listOfMessages[i].setFlag(Flags.Flag.DELETED, true);
}
} public static void main(String[] arg){
JavaMail jm = new JavaMail();
try{
Store s = jm.openStore();
Folder f = jm.openInbox(s);
jm.processAllMessages(f);
}catch(Exception e){
e.printStackTrace();
}
}
}
我自己另写了一个测试的也是这样
package JavaMail;import javax.mail.*;public class JavaMail {
public JavaMail() {
} private Store openStore() throws Exception {
Store store;
//--[ Set up the default parameters // props.put("mail.debug", "true"); Session session = Session.getInstance(System.getProperties());
store = session.getStore("pop3");
// void javax.mail.Service.connect(String host, String user, String
// password) throws
// MessagingException
System.out.println("---------mail connecting--------------"); store.connect("pop.ruyi.com", "moblog", "123456");
System.out.println("---------mail connect OK--------------");
return store;
} private Folder openInbox(Store store) throws Exception {
Folder folder = store.getDefaultFolder();
if (folder == null) {
System.out.println("Problem occurred");
System.exit(1);
} Folder popFolder = folder.getFolder("INBOX");
popFolder.open(Folder.READ_WRITE);
return popFolder;
}
private void processAllMessages(Folder folder) throws Exception { Message listOfMessages[] = folder.getMessages();
FetchProfile fProfile = new FetchProfile();
fProfile.add(FetchProfile.Item.ENVELOPE);
folder.fetch(listOfMessages, fProfile); for (int i = 0; i < listOfMessages.length; i++) {
try {
Multipart multipart = (Multipart)listOfMessages[i].getContent();
System.out.println("start-------");
System.out.println(multipart.getCount());
System.out.println("end-------");
} catch (Exception e) {
e.printStackTrace();
} // Delete mail
listOfMessages[i].setFlag(Flags.Flag.DELETED, true);
}
} public static void main(String[] arg){
JavaMail jm = new JavaMail();
try{
Store s = jm.openStore();
Folder f = jm.openInbox(s);
jm.processAllMessages(f);
}catch(Exception e){
e.printStackTrace();
}
}
}
后就报异常
javax.mail.MessagingException: Missing start boundary
at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:320)
at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:182)
at JavaMail.JavaMail.processAllMessages(JavaMail.java:51)
at JavaMail.JavaMail.main(JavaMail.java:67)