packages feed

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