Merge pull request #1985 from BasisOlivers/aut-1901

Added headers to email data
This commit is contained in:
Richard Cordovano 2016-02-25 10:27:57 -05:00
commit d86be91b2d
2 changed files with 16 additions and 4 deletions

View File

@ -51,6 +51,7 @@ import org.apache.james.mime4j.dom.field.ContentTypeField;
import org.apache.james.mime4j.mboxiterator.CharBufferWrapper;
import org.apache.james.mime4j.mboxiterator.MboxIterator;
import org.apache.james.mime4j.message.DefaultMessageBuilder;
import org.apache.james.mime4j.stream.Field;
import org.apache.james.mime4j.stream.MimeConfig;
import org.apache.tika.parser.txt.CharsetDetector;
import org.apache.tika.parser.txt.CharsetMatch;
@ -179,7 +180,7 @@ class MboxParser {
if (msg.isMultipart()) {
handleMultipart(email, (Multipart) msg.getBody(), fileID);
} else {
handleTextBody(email, (TextBody) msg.getBody(), msg.getMimeType());
handleTextBody(email, (TextBody) msg.getBody(), msg.getMimeType(), msg.getHeader().getFields());
}
return email;
@ -204,7 +205,7 @@ class MboxParser {
handleAttachment(email, e, fileID, index);
} else if (e.getMimeType().equals(HTML_TYPE)
|| e.getMimeType().equals(ContentTypeField.TYPE_TEXT_PLAIN)) {
handleTextBody(email, (TextBody) e.getBody(), e.getMimeType());
handleTextBody(email, (TextBody) e.getBody(), e.getMimeType(), e.getHeader().getFields());
} else {
// Ignore other types.
}
@ -221,7 +222,7 @@ class MboxParser {
* @param tb
* @param type The Mime type of the body.
*/
private void handleTextBody(EmailMessage email, TextBody tb, String type) {
private void handleTextBody(EmailMessage email, TextBody tb, String type, List<Field> fields) {
BufferedReader r;
try {
r = new BufferedReader(tb.getReader());
@ -230,6 +231,12 @@ class MboxParser {
while ((line = r.readLine()) != null) {
bodyString.append(line).append("\n");
}
bodyString.append("\n-----HEADERS-----\n");
for(Field field: fields) {
String nextLine = field.getName() + ": " + field.getBody();
bodyString.append("\n").append(nextLine);
}
bodyString.append("\n\n---END HEADERS--\n\n");
switch (type) {
case ContentTypeField.TYPE_TEXT_PLAIN:

View File

@ -172,7 +172,12 @@ class PstParser {
email.setBcc(msg.getDisplayBCC());
email.setSender(getSender(msg.getSenderName(), msg.getSenderEmailAddress()));
email.setSentDate(msg.getMessageDeliveryTime());
email.setTextBody(msg.getBody());
if(msg.getTransportMessageHeaders().isEmpty()) {
email.setTextBody(msg.getBody());
} else {
email.setTextBody(msg.getBody() + "\n-----HEADERS-----\n\n" + msg.getTransportMessageHeaders() + "\n\n---END HEADERS--\n\n");
}
email.setHtmlBody(msg.getBodyHTML());
String rtf = "";
try {