aboutsummaryrefslogtreecommitdiff
path: root/server/src/MimeMail.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/MimeMail.hs')
-rw-r--r--server/src/MimeMail.hs68
1 files changed, 35 insertions, 33 deletions
diff --git a/server/src/MimeMail.hs b/server/src/MimeMail.hs
index 0faaf98..7fe98ed 100644
--- a/server/src/MimeMail.hs
+++ b/server/src/MimeMail.hs
@@ -38,31 +38,33 @@ module MimeMail
, quotedPrintable
) where
-import qualified Data.ByteString.Lazy as L
-import Blaze.ByteString.Builder.Char.Utf8
-import Blaze.ByteString.Builder
-import Control.Concurrent (forkIO, putMVar, takeMVar, newEmptyMVar)
-import Data.Monoid
-import System.Random
-import Control.Arrow
-import System.Process
-import System.IO
-import System.Exit
-import System.FilePath (takeFileName)
-import qualified Data.ByteString.Base64 as Base64
-import Control.Monad ((<=<), foldM, void)
-import Control.Exception (throwIO, ErrorCall (ErrorCall))
-import Data.List (intersperse)
-import qualified Data.Text.Lazy as LT
-import qualified Data.Text.Lazy.Encoding as LT
-import Data.ByteString.Char8 ()
-import Data.Bits ((.&.), shiftR)
-import Data.Char (isAscii, isControl)
-import Data.Word (Word8)
-import qualified Data.ByteString as S
-import Data.Text (Text)
-import qualified Data.Text as T
-import qualified Data.Text.Encoding as TE
+import Blaze.ByteString.Builder
+import Blaze.ByteString.Builder.Char.Utf8
+import Control.Arrow
+import Control.Concurrent (forkIO, newEmptyMVar,
+ putMVar, takeMVar)
+import Control.Exception (ErrorCall (ErrorCall),
+ throwIO)
+import Control.Monad (foldM, void, (<=<))
+import Data.Bits (shiftR, (.&.))
+import qualified Data.ByteString as S
+import qualified Data.ByteString.Base64 as Base64
+import Data.ByteString.Char8 ()
+import qualified Data.ByteString.Lazy as L
+import Data.Char (isAscii, isControl)
+import Data.List (intersperse)
+import Data.Monoid
+import Data.Text (Text)
+import qualified Data.Text as T
+import qualified Data.Text.Encoding as TE
+import qualified Data.Text.Lazy as LT
+import qualified Data.Text.Lazy.Encoding as LT
+import Data.Word (Word8)
+import System.Exit
+import System.FilePath (takeFileName)
+import System.IO
+import System.Process
+import System.Random
-- | Generates a random sequence of alphanumerics of the given length.
randomString :: RandomGen d => Int -> d -> (String, d)
@@ -88,10 +90,10 @@ instance Random Boundary where
-- | An entire mail message.
data Mail = Mail
- { mailFrom :: Address
- , mailTo :: [Address]
- , mailCc :: [Address]
- , mailBcc :: [Address]
+ { mailFrom :: Address
+ , mailTo :: [Address]
+ , mailCc :: [Address]
+ , mailBcc :: [Address]
-- | Other headers, excluding from, to, cc and bcc.
, mailHeaders :: Headers
-- | A list of different sets of alternatives. As a concrete example:
@@ -100,7 +102,7 @@ data Mail = Mail
--
-- Make sure when specifying alternatives to place the most preferred
-- version last.
- , mailParts :: [Alternatives]
+ , mailParts :: [Alternatives]
}
deriving Show
@@ -132,13 +134,13 @@ type Alternatives = [Part]
-- | A single part of a multipart message.
data Part = Part
- { partType :: Text -- ^ content type
+ { partType :: Text -- ^ content type
, partEncoding :: Encoding
-- | The filename for this part, if it is to be sent with an attachemnt
-- disposition.
, partFilename :: Maybe Text
- , partHeaders :: Headers
- , partContent :: L.ByteString
+ , partHeaders :: Headers
+ , partContent :: L.ByteString
}
deriving (Eq, Show)