diff options
| -rw-r--r-- | ParseMail.hs | 12 | 
1 files changed, 7 insertions, 5 deletions
| diff --git a/ParseMail.hs b/ParseMail.hs index 58b1a52..a1f91ab 100644 --- a/ParseMail.hs +++ b/ParseMail.hs @@ -34,16 +34,17 @@ readMail =  fromMIMEValue :: MIMEValue -> M.Mail -fromMIMEValue val = +fromMIMEValue val0 =      let m = foldr f (M.emptyMail $ M.Address Nothing "anonymous@localhost")                $ fromMIMEParams -              $ mime_val_headers val -    in m { M.mailParts = [[part]] } +              $ mime_val_headers val0 +    in m { M.mailParts = [part val0] }    where -    part = +    part val =          case mime_val_content val of              Single content -> +                (:[]) $                  M.Part                      -- TODO actually check if we're utf-8 or ascii(?)                      { M.partType = "text/plain; charset=utf-8" @@ -52,7 +53,8 @@ fromMIMEValue val =                      , M.partHeaders = []                      , M.partContent = LT.encodeUtf8 $ LT.fromStrict content                      } -            _ -> error ("meh: " ++ show val) +            Multi vals -> +                concatMap part vals      --f :: H.Header -> M.Mail -> M.Mail      f (k, v) m = case k of | 
