1[](https://travis-ci.org/adinapoli/mandrill)
2[](https://coveralls.io/r/adinapoli/mandrill)
4# Haskell Client for the Mandrill JSON API
6This module implement a low-level, 1:1 mapping API to
7the [Mandrill](http://mandrillapp.com) transactional email service.
13* Added support for aeson-1.0.0.0 by relaxing its upper bound.
17* Added support for QuickCheck-2.9 by relaxing its upper bound.
21* Added `Functor`, `Foldable` and `Traversable` instances to `MandrillResponse` (Courtesy of @dredozubov)
25* Added inbound calls (Courtesy of @mwotton)
29* Relaxed the constraint on `aeson` to allow `0.11.0.0`.
33* Changed the `MandrillHeaders` type synonym from `Value` to `Object`.
35* Changed the `mmsg_metadata` and `mmdt_values` fields from `MandrillVars` to `Object`.
37* Changed the `mmsg_global_merge_vars` and `mmvr_vars` fields from `[MandrillVars]` to `[MergeVar]`
39* Added the `MergeVar` data type:
42data MergeVar = MergeVar {
44 , _mv_content :: Value
48* Removed the `MandrillVars` type synonym.
52* Modified the `Base64ByteString` type to accept another constructor. This
53 allows the user to pass already-encoded Base64 strings which might be coming
58This package was built with pragmatism and reuse in mind. This means
59this API comes in two flavours: an IO-based and an handy monad transformer
60which can be plugged in your stack of choice.
64{-# LANGUAGE OverloadedStrings #-}
65import Text.Email.Validate
66import Network.API.Mandrill
70 case validate "foo@example.com" of
71 Left err -> print $ "Invalid email!" ++ show err
72 Right addr -> runMandrill "MYTOKENHERE" $ do
73 let msg = "<p>My Html</p>"
74 res <- sendEmail (newTextMessage addr [addr] "Hello" msg)
76 MandrillSuccess k -> liftIO (print k)
77 MandrillFailure f -> liftIO (print f)
80# Supported API versions
83 - [Users call](https://mandrillapp.com/api/docs/users.JSON.html) - 100%
85 + ~~ping.json~~ (as **doesn't return valid json!**)
89 - [Messages call](https://mandrillapp.com/api/docs/messages.JSON.html)
92 - [Senders call](https://mandrillapp.com/api/docs/senders.JSON.html)
95 - [Inbound call](https://mandrillapp.com/api/docs/inbound.JSON.html)
101To test the online API, first build the package with tests enabled:
104cabal install --enable-tests
107Then export an environment variable with your Mandrill **Test** token:
110export MANDRILL_API_KEY="YOURKEYGOESHERE"
113And finally execute the testsuite:
120This library scratches my own itches, but please fork away!
121Pull requests are encouraged to implement the part of the API
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list