Safe Haskell | None |
---|---|
Language | Haskell2010 |
- initAWSKeys :: SnapletInit a AWSKeys
- sendEmail :: HasAWSKeys m => To -> Subject -> ByteString -> m SESResult
- sendEmailBlaze :: HasAWSKeys m => To -> Subject -> Html -> m SESResult
- withKeys :: HasAWSKeys m => (AWSKeys -> IO a) -> m a
- data AWSKeys = AWSKeys {}
- class MonadIO m => HasAWSKeys m where
- module Network.SES
Initialization
initAWSKeys :: SnapletInit a AWSKeys Source
Initialize snaplet
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-} module Main ( main ) where import Control.Lens import qualified Data.ByteString.Char8 as B8 import qualified Data.ByteString.Lazy.Char8 as BL8 import Snap import Snap.Snaplet.SES data App = App { _awsKeys :: Snaplet AWSKeys } makeLenses ''App initApp :: SnapletInit App App initApp = makeSnaplet "name" "description" Nothing $ do _awsKeys <- nestSnaplet "ses-html" awsKeys initAWSKeys addRoutes [("/", handleKeys)] return App {..} where handleKeys = method GET $ do with awsKeys $ withKeys $ liftIO . print result <- with awsKeys $ sendEmail ["david@solidtranslate.com"] "cookie-crisp" "<h1>TEST</h1>" liftIO $ print result writeBS "done" main :: IO () main = do (_, app, _) <- runSnaplet Nothing initApp httpServe config app where config = setAccessLog ConfigNoLog $ setErrorLog ConfigNoLog $ defaultConfig
./snaplets/ses-html/devel.cfg
public = "publickey" secret = "secretkey" region = "us-east-1" sender = "sender@verifiedaddress.com"
:: HasAWSKeys m | |
=> To | Who the email is intended for |
-> Subject | email |
-> ByteString | email Body |
-> m SESResult |
Send a ByteString of HTML from a Snap Handler
:: HasAWSKeys m | |
=> To | Who the email is intended for |
-> Subject | Email |
-> Html | Email Body |
-> m SESResult |
Send Blaze email from a snap handler
:: HasAWSKeys m | |
=> (AWSKeys -> IO a) | Function operating on Keys |
-> m a |
Helper function for operating on AWSKeys
inside of HasAWSKeys
constrained Monads
Types
Type to hold AWS Config Information
Show AWSKeys | |
MonadIO m => HasAWSKeys (ReaderT (Snaplet AWSKeys) m) | |
MonadIO m => HasAWSKeys (ReaderT AWSKeys m) | |
HasAWSKeys (Handler b AWSKeys) |
class MonadIO m => HasAWSKeys m where Source
Class to allow extraction of AWSKeys
from arbitrary Monads constrained by MonadIO
MonadIO m => HasAWSKeys (ReaderT (Snaplet AWSKeys) m) | |
MonadIO m => HasAWSKeys (ReaderT AWSKeys m) | |
HasAWSKeys (Handler b AWSKeys) |
Module Re-export
module Network.SES