java.lang.Classcastexception-Fehler: java.lang.String nicht umgewandelt werden, javax.E-mail.Multipart
Dies ist mein code unten ein Auszug aus einer java-tutorial - aber mein Problem kommt, wenn ich versuchen und erhalten eine normale Nachricht von einem computer gesendet werden, im Gegensatz zu gesendet über GMail. Wenn ich erhalten die E-Mails über GMail es gut läuft und gibt die E-Mails, aber beim abrufen einer E-mail von einem herkömmlichen desktop-mail-client gibt
Fehler:
java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart
at gridnotifierproject_pcbuild.HandleMailInput.retrieveOneMail(HandleMailInput.java:37)
at gridnotifierproject_pcbuild.GridNotifierProject_PCBuild.main(GridNotifierProject_PCBuild.java:22)
Code:
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imaps");
try {
Session session = Session.getInstance(props, null);
Store store = session.getStore();
store.connect("imap.gmail.com", "***********@gmail.com", "******");
System.out.println("Established Connection to Server!");
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
Message msg = inbox.getMessage(inbox.getMessageCount());
System.out.println("Found specified Folder, retrieving the latest message...");
Address[] in = msg.getFrom();
for (Address address : in) {
System.out.println("FROM:" + address.toString());
}
Multipart mp = (Multipart) msg.getContent();
BodyPart bp = mp.getBodyPart(0);
System.out.println("SENT DATE:" + msg.getSentDate());
System.out.println("SUBJECT:" + msg.getSubject());
System.out.println("CONTENT:" + bp.getContent());
} catch (Exception mex) {
mex.printStackTrace();
}
String
undMultiPart
teilen keine gemeinsame Erbe, also können Sie nicht wirken.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verstehen die Ausnahme Erster!!!!!
Den Inhalt der Nachricht der Rückkehr Zeichenfolge, und Sie versuchen, Typ-cast zu Multipart.
Nicht alle Nachrichten sind multipart. Sie müssen verstehen, die die Struktur von MIME-Nachrichten. Beginnen Sie mit diese JavaMail FAQ-Eintrag. Dann schauen Sie auf die msgshow.java Beispiel-Programm.