Ho scaricato mime4j
0.8.0 snapshot da subversion
e lo ho creato con maven
. I relativi vasi generati possono essere trovati here.Mime4j: DefaultMessageBuilder non riesce ad analizzare il contenuto mbox
Ora provo a analizzare a toy mbox file dal test mime4j
.
Io uso questo sample code. Brevemente:
final File mbox = new File("c:\\mbox.rlug");
int count = 0;
for (CharBufferWrapper message : MboxIterator.fromFile(mbox).charset(ENCODER.charset()).build()) {
System.out.println(messageSummary(message.asInputStream(ENCODER.charset())));
count++;
}
System.out.println("Found " + count + " messages");
+
private static String messageSummary(InputStream messageBytes) throws IOException, MimeException {
MessageBuilder builder = new DefaultMessageBuilder();
Message message = builder.parseMessage(messageBytes);
return String.format("\nMessage %s \n" +
"Sent by:\t%s\n" +
"To:\t%s\n",
message.getSubject(),
message.getSender(),
message.getTo());
}
L'uscita è:
Messaggio nullo Inviato da: null A: null
Messaggio nullo Trasmesso: null A: null
Messaggio null Inviato da: null A: null
Messaggio nullo Inviato da: NULL per: null
Messaggio nullo Inviato da: null A: nulli
Trovato 5 messaggi
ci sono infatti 5 messaggi, ma perché sono tutti i campi nullo?
Potrebbe basta stampare il messaggio grezzo nel circuito, al fine di vedere se è correttamente costruito? 'System.out.println (messaggio);' – ToYonos