我試圖使用JavaMail API訪問郵件消息。使用JavaMail訪問Mailinator POP3
我可以正確連接到服務器等,但是當涉及到閱讀郵件時,我一直收到「文件夾未打開」異常,並且當我檢查文件夾是否打開並且如果不打開文件夾,幫助。我猜因爲某種原因mailinator結束了連接等等。
如果我嘗試獲取消息的輸入流而不是使用getContent,我可以從輸入流中讀取罰款,並且它包含消息的樣式等,但由於某些原因,它似乎是我從inputstream讀取的數據不包含消息身體..
如果這是關於mailinator或您可以提供給我任何其他隨機電子郵件閱讀服務,支持POP3或其他易讀,這是否真的,如果我使用mailinator這個項目。
我目前的郵件閱讀代碼。
private void checkMail(String user) {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
try {
Store store = session.getStore("pop3");
store.connect("pop.mailinator.com", 110, user, "12345678");
Folder inbox = store.getFolder("inbox");
if(inbox == null) {
System.out.println("no inbox");
} else {
inbox.open(Folder.READ_ONLY);
for(Message message: inbox.getMessages()) {
byte[] buffer = new byte[10000];
int read = 0;
try {
while((read = message.getInputStream().read(buffer, 0, 1024)) > 0) {
for(int i = 0; i < buffer.length; i++) {
System.out.print((char)buffer[i]);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*try {
System.out.println(message.getContent().toString());
} catch (IOException e) {
e.printStackTrace();
}*/
}
}
inbox.close(false);
store.close();
} catch (NoSuchProviderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
當從輸入流中讀取時,它看起來像輸入流永遠不會結束,只是重新開始。我的目的是獲取消息正文和主題。