| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Snap.Snaplet.SES
- 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"
Arguments
| :: 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
Arguments
| :: HasAWSKeys m | |
| => To | Who the email is intended for |
| -> Subject | Email |
| -> Html | Email Body |
| -> m SESResult |
Send Blaze email from a snap handler
Arguments
| :: 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
Constructors
| AWSKeys | |
class MonadIO m => HasAWSKeys m where Source
Class to allow extraction of AWSKeys from arbitrary Monads constrained by MonadIO
Instances
| MonadIO m => HasAWSKeys (ReaderT (Snaplet AWSKeys) m) Source | |
| MonadIO m => HasAWSKeys (ReaderT AWSKeys m) Source | |
| HasAWSKeys (Handler b AWSKeys) Source |
Module Re-export
module Network.SES