Tôi đã tải xuống ảnh chụp mime4j
0.8.0 từ subversion
và tạo nó với maven
. Các lọ liên quan tôi tạo ra có thể được tìm thấy here.Mime4j: DefaultMessageBuilder không phân tích cú pháp nội dung mbox
Bây giờ tôi cố gắng phân tích cú pháp a toy mbox file từ thử nghiệm mime4j
.
Tôi sử dụng số sample code này. Tóm lại:
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());
}
Đầu ra là:
nhắn rỗng Sent by: null Để: null
nhắn rỗng Sent by: null Để: null
Tin nhắn null Đã gửi bởi: null Tới: null
nhắn rỗng Sent by: null Để: null
nhắn rỗng Sent by: null Để: null
Tìm thấy 5 tin nhắn
Có thực sự 5 tin nhắn, nhưng tại sao tất cả các lĩnh vực vô giá trị?
Bạn có thể in thông báo thô trong vòng lặp để xem liệu nó có được xây dựng chính xác không? 'System.out.println (message);' – ToYonos