You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2017/03/01 20:31:34 UTC

[tika] 02/02: TIKA-1865 -- step 2, the other parsers.

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 2234f3312f3ddca02f2899138157e1f5fdef92ba
Author: tballison <ta...@mitre.org>
AuthorDate: Wed Mar 1 15:31:23 2017 -0500

    TIKA-1865 -- step 2, the other parsers.
---
 .../tika/parser/mail/MailContentHandler.java       |   6 ++
 .../java/org/apache/tika/parser/mail/MailUtil.java | 114 +++++++++++++++++++++
 .../org/apache/tika/parser/mbox/MboxParser.java    |   4 +
 .../apache/tika/parser/mbox/OutlookPSTParser.java  |  27 +++++
 .../tika/parser/microsoft/OutlookExtractor.java    |  47 ++++++---
 .../org/apache/tika/parser/mail/MailUtilTest.java  |  48 +++++++++
 .../apache/tika/parser/mail/RFC822ParserTest.java  |  28 ++++-
 .../tika/parser/mbox/OutlookPSTParserTest.java     |  19 ++++
 .../tika/parser/microsoft/OutlookParserTest.java   |   3 +-
 9 files changed, 282 insertions(+), 14 deletions(-)

diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
index 018bcae..961ccfb 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
@@ -50,6 +50,7 @@ import org.apache.james.mime4j.stream.Field;
 import org.apache.tika.extractor.EmbeddedDocumentExtractor;
 import org.apache.tika.extractor.EmbeddedDocumentUtil;
 import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Message;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.parser.ParseContext;
@@ -222,11 +223,16 @@ class MailContentHandler implements ContentHandler {
                 if (fromField.isValidField() && mailboxList != null) {
                     for (Address address : mailboxList) {
                         String from = getDisplayString(address);
+                        MailUtil.setPersonAndEmail(from, Message.MESSAGE_FROM_NAME,
+                                Message.MESSAGE_FROM_EMAIL, metadata);
                         metadata.add(Metadata.MESSAGE_FROM, from);
                         metadata.add(TikaCoreProperties.CREATOR, from);
                     }
                 } else {
                     String from = stripOutFieldPrefix(field, "From:");
+                    MailUtil.setPersonAndEmail(from, Message.MESSAGE_FROM_NAME,
+                            Message.MESSAGE_FROM_EMAIL, metadata);
+
                     if (from.startsWith("<")) {
                         from = from.substring(1);
                     }
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailUtil.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailUtil.java
new file mode 100644
index 0000000..9c098a7
--- /dev/null
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailUtil.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tika.parser.mail;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.Property;
+
+public class MailUtil {
+
+    private final static Pattern EMAIL = Pattern.compile("(?i)([^<@\\s]+@[^@> ]+)");
+
+    /**
+     * This tries to split a "from" or "to" value into a person field and an email field.
+     * This does not handle RFC encoded strings (e.g. "=?iso-8859-1?Q?H=E9roux_Louise?"),
+     * you must decode them first.
+     *
+     * @param string
+     * @param personProperty
+     * @param emailProperty
+     * @param metadata
+     */
+    public static void setPersonAndEmail(String string,
+                                         Property personProperty,
+                                         Property emailProperty, Metadata metadata) {
+
+        StringBuffer sb = new StringBuffer();
+        String email = extractEmail(string, sb);
+        String person = clean(sb.toString());
+        if (person != null && person.length() > 0) {
+            metadata.set(personProperty, person);
+        }
+        if (email != null && email.length() > 0) {
+            metadata.set(emailProperty, email);
+        }
+
+    }
+
+    /**
+     * This tries to split a "from" or "to" value into a person field and an email field.
+     * This does not handle RFC encoded strings (e.g. "=?iso-8859-1?Q?H=E9roux_Louise?"),
+     * you must decode them first.
+     *
+     * @param string
+     * @param personProperty
+     * @param emailProperty
+     * @param metadata
+     */
+    public static void addPersonAndEmail(String string,
+                                      Property personProperty,
+                                      Property emailProperty, Metadata metadata) {
+
+        StringBuffer sb = new StringBuffer();
+        String email = extractEmail(string, sb);
+        String person = clean(sb.toString());
+
+        if (person != null && person.length() > 0) {
+            metadata.add(personProperty, person);
+        }
+        if (email != null && email.length() > 0) {
+            metadata.add(emailProperty, email);
+        }
+
+    }
+
+    private static String clean(String s) {
+        s = s.replaceAll("[<>\"]", " ");
+        s = s.trim();
+        return s;
+    }
+
+    private static String extractEmail(String string, StringBuffer sb) {
+        Matcher emailMatcher = EMAIL.matcher(string);
+        String email = "";
+        while (emailMatcher.find()) {
+            emailMatcher.appendReplacement(sb, "");
+            email = emailMatcher.group(1);
+        }
+        return email;
+    }
+
+    /**
+     * If the chunk looks like it contains an email
+     * @param chunk
+     * @return
+     */
+    public static boolean containsEmail(String chunk) {
+        if (chunk == null) {
+            return false;
+        }
+
+        if (EMAIL.matcher(chunk).find()) {
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
index a82d74e..11c8d4a 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
@@ -38,11 +38,13 @@ import java.util.regex.Pattern;
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.extractor.EmbeddedDocumentExtractor;
 import org.apache.tika.extractor.EmbeddedDocumentUtil;
+import org.apache.tika.metadata.Message;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.mime.MediaType;
 import org.apache.tika.parser.AbstractParser;
 import org.apache.tika.parser.ParseContext;
+import org.apache.tika.parser.mail.MailUtil;
 import org.apache.tika.sax.XHTMLContentHandler;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
@@ -168,6 +170,8 @@ public class MboxParser extends AbstractParser {
 
         if (headerTag.equalsIgnoreCase("From")) {
             metadata.set(TikaCoreProperties.CREATOR, headerContent);
+            MailUtil.setPersonAndEmail(headerContent, Message.MESSAGE_FROM_NAME,
+                    Message.MESSAGE_FROM_EMAIL, metadata);
         } else if (headerTag.equalsIgnoreCase("To") || headerTag.equalsIgnoreCase("Cc")
                 || headerTag.equalsIgnoreCase("Bcc")) {
             Matcher address = EMAIL_ADDRESS_PATTERN.matcher(headerContent);
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
index dee17db..1a35ed6 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
@@ -35,11 +35,14 @@ import org.apache.tika.extractor.EmbeddedDocumentExtractor;
 import org.apache.tika.extractor.EmbeddedDocumentUtil;
 import org.apache.tika.io.TemporaryResources;
 import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Message;
 import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.Office;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.mime.MediaType;
 import org.apache.tika.parser.AbstractParser;
 import org.apache.tika.parser.ParseContext;
+import org.apache.tika.parser.microsoft.OutlookExtractor;
 import org.apache.tika.sax.XHTMLContentHandler;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
@@ -152,6 +155,30 @@ public class OutlookPSTParser extends AbstractParser {
         mailMetadata.set("priority", valueOf(pstMail.getPriority()));
         mailMetadata.set("flagged", valueOf(pstMail.isFlagged()));
 
+        if (pstMail.getSenderAddrtype().equalsIgnoreCase("ex")) {
+            OutlookExtractor.addExchange(pstMail.getSenderEmailAddress(),
+                    Office.MAPI_EXCHANGE_FROM_O,
+                    Office.MAPI_EXCHANGE_FROM_OU,
+                    Office.MAPI_EXCHANGE_FROM_CN, mailMetadata);
+        } {
+            OutlookExtractor.addChunks(pstMail.getSenderEmailAddress(), Message.MESSAGE_FROM_EMAIL,
+                    true, mailMetadata);
+        }
+        if (pstMail.getSentRepresentingAddressType().equalsIgnoreCase("ex")) {
+            OutlookExtractor.addExchange(pstMail.getSentRepresentingEmailAddress(),
+                    Office.MAPI_EXCHANGE_FROM_REPRESENTING_O,
+                    Office.MAPI_EXCHANGE_FROM_REPRESENTING_OU,
+                    Office.MAPI_EXCHANGE_FROM_REPRESENTING_CN, mailMetadata);
+
+        } else {
+            OutlookExtractor.addChunks(pstMail.getSentRepresentingEmailAddress(),
+                    Office.MAPI_FROM_REPRESENTING_EMAIL,
+                    true, mailMetadata);
+        }
+        mailMetadata.set(Message.MESSAGE_FROM_NAME, pstMail.getSenderName());
+        mailMetadata.set(Office.MAPI_FROM_REPRESENTING_NAME, pstMail.getSentRepresentingName());
+
+
         byte[] mailContent = pstMail.getBody().getBytes(UTF_8);
         embeddedExtractor.parseEmbedded(new ByteArrayInputStream(mailContent), handler, mailMetadata, true);
     }
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
index 1f87183..3e43fb4 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
@@ -62,6 +62,7 @@ import org.apache.tika.parser.ParseContext;
 import org.apache.tika.parser.Parser;
 import org.apache.tika.parser.html.HtmlEncodingDetector;
 import org.apache.tika.parser.html.HtmlParser;
+import org.apache.tika.parser.mail.MailUtil;
 import org.apache.tika.parser.mbox.MboxParser;
 import org.apache.tika.parser.rtf.RTFParser;
 import org.apache.tika.parser.txt.CharsetDetector;
@@ -326,9 +327,15 @@ public class OutlookExtractor extends AbstractPOIFSExtractor {
             senderAddressTypeString = senderAddresType.get(0).toString();
         }
 
-        addChunks(mainChunks.get(MAPIProperty.SENDER_NAME), Message.MESSAGE_FROM_NAME, metadata);
-        addChunks(mainChunks.get(MAPIProperty.SENT_REPRESENTING_NAME),
-                Office.MAPI_FROM_REPRESENTING_NAME, metadata);
+        //sometimes in SMTP .msg files there is an email in the sender name field
+        //make sure to rule those out.
+        addChunks(
+                mainChunks.get(MAPIProperty.SENDER_NAME), Message.MESSAGE_FROM_NAME,
+                    false, metadata);
+        addChunks(
+                mainChunks.get(MAPIProperty.SENT_REPRESENTING_NAME),
+                    Office.MAPI_FROM_REPRESENTING_NAME, false, metadata);
+
         if (senderAddressTypeString.equalsIgnoreCase("ex")) {
             addExchange(mainChunks.get(MAPIProperty.SENDER_EMAIL_ADDRESS),
                     Office.MAPI_EXCHANGE_FROM_O, Office.MAPI_EXCHANGE_FROM_OU,
@@ -338,19 +345,25 @@ public class OutlookExtractor extends AbstractPOIFSExtractor {
                     Office.MAPI_EXCHANGE_FROM_REPRESENTING_CN, metadata);
         } else {
             addChunks(mainChunks.get(MAPIProperty.SENDER_EMAIL_ADDRESS),
-                    Message.MESSAGE_FROM_EMAIL, metadata);
+                    Message.MESSAGE_FROM_EMAIL, true, metadata);
             addChunks(mainChunks.get(MAPIProperty.SENT_REPRESENTING_EMAIL_ADDRESS),
-                    Office.MAPI_FROM_REPRESENTING_EMAIL, metadata);
+                    Office.MAPI_FROM_REPRESENTING_EMAIL, true, metadata);
         }
     }
 
-    private void addExchange(List<Chunk> chunks,Property propertyO,
-                             Property propertyOU, Property propertyCN, Metadata metadata) {
+
+    private static void addExchange(List<Chunk> chunks,
+                                    Property propertyO,
+                                    Property propertyOU, Property propertyCN, Metadata metadata ) {
         if (chunks == null || chunks.size() == 0) {
             return;
         }
-        String exchange = chunks.get(0).toString();
-        if (exchange == null || exchange.length() == 0) {
+        addExchange(chunks.get(0).toString(), propertyO, propertyOU, propertyCN, metadata);
+    }
+
+    public static void addExchange(String exchange,Property propertyO,
+                             Property propertyOU, Property propertyCN, Metadata metadata) {
+        if (exchange == null || exchange.length() < 1) {
             return;
         }
         Matcher matcherO = EXCHANGE_O.matcher(exchange);
@@ -371,11 +384,21 @@ public class OutlookExtractor extends AbstractPOIFSExtractor {
         }
     }
 
-    private void addChunks(List<Chunk> chunks, Property property, Metadata metadata) {
-        if (chunks == null || chunks.size() == 0) {
+    private static void addChunks(List<Chunk> chunks, Property property, boolean mustContainEmail,
+                                 Metadata metadata) {
+        if (chunks == null || chunks.size() < 1) {
             return;
         }
-        metadata.set(property, chunks.get(0).toString());
+        addChunks(chunks.get(0).toString(), property, mustContainEmail, metadata);
+    }
+    public static void addChunks(String chunk, Property property, boolean mustContainEmail,
+                           Metadata metadata) {
+        if (chunk == null || chunk.length() == 0) {
+            return;
+        }
+        if (mustContainEmail == MailUtil.containsEmail(chunk)) {
+                metadata.set(property, chunk);
+        }
     }
 
     //TODO: replace this with getMessageClassEnum when we upgrade POI
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mail/MailUtilTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mail/MailUtilTest.java
new file mode 100644
index 0000000..2323f56
--- /dev/null
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mail/MailUtilTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tika.parser.mail;
+
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.tika.metadata.Message;
+import org.apache.tika.metadata.Metadata;
+import org.junit.Test;
+
+public class MailUtilTest {
+
+    @Test
+    public void testBasic() throws Exception {
+        String s = "Julien Nioche (JIRA) <ji...@apache.org>";
+        assertExtracted("Julien Nioche (JIRA)", "jira@apache.org", s);
+
+        s = "\"Julien Nioche (JIRA)\" <ji...@apache.org>";
+        assertExtracted("Julien Nioche (JIRA)", "jira@apache.org", s);
+    }
+
+    private void assertExtracted(String person, String email, String string) {
+        Metadata m = new Metadata();
+        MailUtil.setPersonAndEmail(string, Message.MESSAGE_FROM_NAME, Message.MESSAGE_FROM_EMAIL, m);
+        assertEquals(person + " : " + m.get(Message.MESSAGE_FROM_NAME), person,
+                m.get(Message.MESSAGE_FROM_NAME));
+        assertEquals(email + " : " +
+                m.get(Message.MESSAGE_FROM_EMAIL), email, m.get(Message.MESSAGE_FROM_EMAIL));
+    }
+
+
+}
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
index 01b4516..0d7a9d0 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
@@ -51,6 +51,7 @@ import org.apache.tika.extractor.ContainerExtractor;
 import org.apache.tika.extractor.EmbeddedDocumentExtractor;
 import org.apache.tika.extractor.ParserContainerExtractor;
 import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Message;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.mime.MediaType;
@@ -77,7 +78,7 @@ public class RFC822ParserTest extends TikaTest {
     }
 
     @Test
-    public void testSimple() {
+    public void testSimple() throws Exception {
         Parser parser = new RFC822Parser();
         Metadata metadata = new Metadata();
         InputStream stream = getStream("test-documents/testRFC822");
@@ -107,6 +108,31 @@ public class RFC822ParserTest extends TikaTest {
     }
 
     @Test
+    public void testExtendedToFromMetadata() throws Exception {
+        Metadata m = getXML("testRFC822").metadata;
+        assertEquals("Julien Nioche (JIRA)", m.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("jira@apache.org", m.get(Message.MESSAGE_FROM_EMAIL));
+
+        m = getXML("testRFC822-multipart").metadata;
+        assertEquals("DigitalPebble", m.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("julien@digitalpebble.com", m.get(Message.MESSAGE_FROM_EMAIL));
+
+        m = getXML("testRFC822_quoted").metadata;
+        assertEquals("Another Person", m.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("another.person@another-example.com", m.get(Message.MESSAGE_FROM_EMAIL));
+
+        m = getXML("testRFC822_i18nheaders").metadata;
+        assertEquals("Keld J�rn Simonsen", m.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("keld@dkuug.dk", m.get(Message.MESSAGE_FROM_EMAIL));
+
+        //this is currently detected as mbox!!!
+        m = getXML("testEmailWithPNGAtt.eml", new RFC822Parser()).metadata;
+        assertEquals("Tika Test", m.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("XXXX@apache.org", m.get(Message.MESSAGE_FROM_EMAIL));
+
+    }
+
+    @Test
     public void testMultipart() {
         Parser parser = new RFC822Parser();
         Metadata metadata = new Metadata();
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
index 2134808..6c2a296 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
@@ -28,7 +28,9 @@ import java.util.List;
 import org.apache.tika.TikaTest;
 import org.apache.tika.extractor.EmbeddedDocumentExtractor;
 import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor;
+import org.apache.tika.metadata.Message;
 import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.Office;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.mime.MediaType;
 import org.apache.tika.parser.AutoDetectParser;
@@ -106,4 +108,21 @@ public class OutlookPSTParserTest extends TikaTest {
             super.parseEmbedded(stream, handler, metadata, outputHtml);
         }
     }
+
+    @Test
+    public void testExtendedMetadata() throws Exception {
+        List<Metadata> metadataList = getRecursiveMetadata("testPST.pst");
+        Metadata m1 = metadataList.get(1);
+        assertEquals("J�rn Kottmann", m1.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("kottmann@gmail.com", m1.get(Message.MESSAGE_FROM_EMAIL));
+        assertEquals("J�rn Kottmann", m1.get(Office.MAPI_FROM_REPRESENTING_NAME));
+        assertEquals("kottmann@gmail.com", m1.get(Office.MAPI_FROM_REPRESENTING_EMAIL));
+
+        Metadata m6 = metadataList.get(6);
+        assertEquals("Couchbase", m6.get(Message.MESSAGE_FROM_NAME));
+        assertEquals("couchbase@couchbase.com", m6.get(Message.MESSAGE_FROM_EMAIL));
+        assertEquals("Couchbase", m6.get(Office.MAPI_FROM_REPRESENTING_NAME));
+        assertEquals("couchbase@couchbase.com", m6.get(Office.MAPI_FROM_REPRESENTING_EMAIL));
+
+    }
 }
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
index 2ea3bd7..11cf820 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
@@ -198,7 +198,8 @@ public class OutlookParserTest extends TikaTest {
         assertEquals("FT GROUP", metadata.get(Office.MAPI_EXCHANGE_FROM_O));
         assertEquals("FT", metadata.get(Office.MAPI_EXCHANGE_FROM_OU));
         assertEquals("LYDIACHANG", metadata.get(Office.MAPI_EXCHANGE_FROM_CN));
-        assertEquals("Tests Chang@FT (\u5f35\u6bd3\u502b)", metadata.get(Office.MAPI_FROM_REPRESENTING_NAME));
+        //this no longer works because we forbid email like contents...do we want to do this?
+        //assertEquals("Tests Chang@FT (\u5f35\u6bd3\u502b)", metadata.get(Office.MAPI_FROM_REPRESENTING_NAME));
         assertEquals("FT GROUP", metadata.get(Office.MAPI_EXCHANGE_FROM_REPRESENTING_O));
         assertEquals("FT", metadata.get(Office.MAPI_EXCHANGE_FROM_REPRESENTING_OU));
         assertEquals("LYDIACHANG", metadata.get(Office.MAPI_EXCHANGE_FROM_REPRESENTING_CN));

-- 
To stop receiving notification emails like this one, please contact
"commits@tika.apache.org" <co...@tika.apache.org>.