mime-mail-ses 0.4.0.0 → 0.4.1
raw patch · 3 files changed
+37/−4 lines, 3 filesdep +http-client-tlsdep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: http-client-tls
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Network.Mail.Mime.SES: renderSendMailSESGlobal :: MonadIO m => SES -> Mail -> m ()
+ Network.Mail.Mime.SES: sendMailSESGlobal :: MonadIO m => SES -> ByteString -> m ()
Files
- ChangeLog.md +4/−0
- Network/Mail/Mime/SES.hs +30/−2
- mime-mail-ses.cabal +3/−2
ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.4.1++* Add 'renderSendMailSESGlobal' and 'sendMailSESGlobal' function which uses the global manager.+ ## 0.4.0.0 * Support IAM temp credentials. This is a backwards-incompatible change that adds
Network/Mail/Mime/SES.hs view
@@ -3,7 +3,9 @@ {-# LANGUAGE CPP #-} module Network.Mail.Mime.SES ( sendMailSES+ , sendMailSESGlobal , renderSendMailSES+ , renderSendMailSESGlobal , SES (..) , usEast1 , usWest2@@ -39,6 +41,7 @@ withResponse) import Network.HTTP.Client.Conduit (bodyReaderSource) import Network.HTTP.Types (Status)+import Network.HTTP.Client.TLS (getGlobalManager) import Network.Mail.Mime (Mail, renderMail') import Text.XML.Stream.Parse (def, parseBytes) @@ -61,7 +64,20 @@ renderSendMailSES :: MonadIO m => Manager -> SES -> Mail -> m () renderSendMailSES m ses mail = liftIO (renderMail' mail) >>= sendMailSES m ses -sendMailSES :: MonadIO m => Manager -> SES -> L.ByteString -> m ()+-- | @since 0.4.1+-- Same as 'renderSendMailSES' but uses the global 'Manager'.+renderSendMailSESGlobal :: MonadIO m => SES -> Mail -> m ()+renderSendMailSESGlobal ses mail = do+ mgr <- liftIO getGlobalManager+ renderSendMailSES mgr ses mail++sendMailSES :: MonadIO m => Manager -> SES + -> L.ByteString -- ^ Raw message data. You must ensure that+ -- the message format complies with+ -- Internet email standards regarding+ -- email header fields, MIME types, and+ -- MIME encoding.+ -> m () sendMailSES manager ses msg = liftIO $ do now <- getCurrentTime let date = S8.pack $ format now@@ -85,7 +101,6 @@ ] ++ case sesSessionToken ses of Just token -> [("X-Amz-Security-Token", token)] Nothing -> []- #if !MIN_VERSION_http_client(0, 5, 0) , checkStatus = \_ _ _ -> Nothing #endif@@ -102,6 +117,19 @@ : zipWith mkDest [1 :: Int ..] (sesTo ses) mkDest num addr = (S8.pack $ "Destinations.member." ++ show num, addr) format = formatTime defaultTimeLocale "%a, %e %b %Y %H:%M:%S %z"++-- | @since 0.4.1+-- Same as 'sendMailSES' but uses the global 'Manager'.+sendMailSESGlobal :: MonadIO m => SES + -> L.ByteString -- ^ Raw message data. You must ensure that+ -- the message format complies with+ -- Internet email standards regarding+ -- email header fields, MIME types, and+ -- MIME encoding.+ -> m ()+sendMailSESGlobal ses msg = do+ mgr <- liftIO getGlobalManager+ sendMailSES mgr ses msg checkForError :: Status -> Sink Event IO () checkForError status = do
mime-mail-ses.cabal view
@@ -1,5 +1,5 @@ Name: mime-mail-ses-Version: 0.4.0.0+Version: 0.4.1 Synopsis: Send mime-mail messages via Amazon SES description: Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/mime-mail-ses>. Homepage: http://github.com/snoyberg/mime-mail@@ -15,12 +15,13 @@ Library Exposed-modules: Network.Mail.Mime.SES- Build-depends: base >= 4.6 && < 5+ Build-depends: base >= 4.9 && < 5 , base64-bytestring >= 0.1 , bytestring >= 0.9 , time >= 1.1 , old-locale , http-client >= 0.2.2.2+ , http-client-tls >= 0.2.4 , http-conduit >= 2.1 , mime-mail >= 0.3 , transformers >= 0.2