diff --git a/src/TiedoteMD/Review.hs b/src/TiedoteMD/Review.hs index c673a54..cfb2ef2 100644 --- a/src/TiedoteMD/Review.hs +++ b/src/TiedoteMD/Review.hs @@ -103,8 +103,11 @@ parseEmail = first (EmailParseError . T.pack) . parse (message mime) getEmailsFromMessage :: MIMEMessage -> [Email] getEmailsFromMessage = readEmails . toListOf - (entities . filtered isText . transferDecoded' . _Right . charsetText' defaultCharsets . _Right) - where isText = matchContentType "text" Nothing . view contentType + (entities . transferDecoded' . _Right . charsetText' defaultCharsets . _Right) + -- Windows is broken and reports text/csv as application/vnd.ms-excel... + -- Purebred-email tries to decode non-text entities as utf-8 which should + -- work in this case. It is unlikely that any entity would accidentally + -- contain enough valid addresses on their own lines to fool readEmails. readEmails :: [T.Text] -> [Email] readEmails = fromMaybe [] . listToMaybe . reverse . sortBy (comparing length) .