below exception occur whenever i fetched message from pop3 mail server. Its occur for perticular message. so i catched javax.mail.MessagingException but this is not working and rest of the messages skips.
plz help me , its urgent.
javax.mail.MessagingException: error loading POP3 headers;
nested exception is:
java.io.IOException: Unexpected response: ------=_NextPart_000_01B9_01C8
A1AB.148BE090
at com.sun.mail.pop3.POP3Message.loadHeaders(POP3Message.java:467)
at com.sun.mail.pop3.POP3Message.getHeader(POP3Message.java:275)
at javax.mail.internet.MimeMessage.getSubject(MimeMessage.java:717)
at fetch1.<init>(fetch1.java:92)
at fetch1.main(fetch1.java:185)
Caused by: java.io.IOException: Unexpected response: ------=_NextPart_000_01B9_0
1C8A1AB.148BE090
at com.sun.mail.pop3.Protocol.simpleCommand(Protocol.java:361)
at com.sun.mail.pop3.Protocol.multilineCommand(Protocol.java:373)
at com.sun.mail.pop3.Protocol.top(Protocol.java:271)
at com.sun.mail.pop3.POP3Message.loadHeaders(POP3Message.java:451)
... 4 more
Press any key to continue...
Code :-
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.Flags.*;
import javax.mail.internet.*;
import javax.activation.*;
public class fetch3
{
fetch3()
{
try
{
// Setup properties
Properties props = System.getProperties();
props.put("mail.pop3.host","myMailserver ip");
// Setup authentication, get session
Authenticator auth = new PopupAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
// Get the store
Store store = session.getStore("pop3");
store.connect();
// Get folder
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Flags flag = folder.getPermanentFlags();
// Get directory
Message message[] = folder.getMessages();
// Display from (only first) and subject of messages
for (int i=0, n=message.length; i<n; i++)
{
System.out.println ("------------------------------------------------------");
System.out.println(" From : "+message.getFrom()[0]);
System.out.println(" To : "+message[i].getAllRecipients()[0]+" "+message[i].getAllRecipients().length);
System.out.println(" Replyto : "+message[i].getReplyTo()[0]);
System.out.println(" Subject : "+message[i].getSubject());
System.out.println ("type "+message[i].getContent());
Part messagePart=message[i];
Object content=messagePart.getContent();
// -- or its first body part if it is a multipart message --
if (content instanceof Multipart)
{
messagePart=((Multipart)content).getBodyPart(0);
// System.out.println("[ Multipart Message ]");
}
// -- Get the content type --
String contentType=messagePart.getContentType();
// -- If the content is plain text, we can print it --
System.out.println("CONTENT:"+contentType);
if (contentType.startsWith("text/plain") || contentType.startsWith("text/html") || contentType.startsWith("multipart/alternative"))
{
InputStream is = messagePart.getInputStream();
BufferedReader reader
=new BufferedReader(new InputStreamReader(is));
String thisLine=reader.readLine();
while (thisLine!=null)
{
System.out.println(thisLine);
thisLine=reader.readLine();
}
}
System.out.println ("------------------------------------------------------");
}////////////////////
// Close connection
folder.close(false);
store.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String s[])
{
new fetch3();
}
}
Regards
Sagar
Edited by: sagar_birari on 23 Apr, 2008 1:18 PM
Edited by: sagar_birari on 23 Apr, 2008 4:30 PM