postie-0.3.1.0: examples/Simple.hs
module Main where
import Web.Postie
import Pipes.ByteString (stdout)
settings :: Settings
settings = defaultSettings {
settingsOnOpen = \sid -> do
putStrLn $ show sid ++ " session opened"
,
settingsOnClose = \sid -> do
putStrLn $ show sid ++ " session closed"
,
settingsOnMailFrom = \sid addr -> do
putStrLn $ show sid ++ " mail from " ++ show addr
return Accepted
,
settingsOnRecipient = \sid addr -> do
putStrLn $ show sid ++ " rcpt to " ++ show addr
return Accepted
,
settingsOnStartTLS = \sid -> do
putStrLn $ show sid ++ " starttls"
}
main :: IO ()
main = do
runSettings settings app
where
app (Mail sid _ _ body) = do
putStrLn $ show sid ++ " data"
runEffect $ body >-> stdout
return Accepted