postie-0.3.0.0: examples/Simple.hs
module Main where
import Web.Postie
import Pipes.ByteString (stdout)
settings :: Settings
settings = defaultSettings {
settingsTLS = Just $ (tlsSettings "server.crt" "server.key") {
security = DemandStartTLS
},
settingsOnOpen = \sid -> do
putStrLn $ show sid ++ " session opened"
,
settingsOnClose = \sid -> do
putStrLn $ show sid ++ " session closed"
}
main :: IO ()
main = do
runSettings settings app
where
app (Mail sid _ _ body) = do
putStrLn $ show sid ++ " receiving mail"
runEffect $ body >-> stdout
return Accepted