A Clojure library for sending emails with SendGrid.
(require '[sendgrid.core :as sendgrid])
(def sg-config
{:api-key "d34db33f"})
;; Send a plain-text email
(sendgrid/send-email sg-config
{:to "email@example.com"
:from "email2@example.com"
:subject "SendGrid Test"
:text "Email body here."})
;; => {:message "success"}
;; Send an HTML email
(sendgrid/send-email sg-config
{:to "email@example.com"
:from "email2@example.com"
:subject "SendGrid Test"
:html "<h1>Email body here.</h1>"})
;; => {:message "success"}
For details on individual request params, please see the SendGrid API documentation.
Emails can also include attachments via the :attachments param.
Attachments must be a sequence of maps where each map contains a
:name and :content and optionally a :mime-type (String).
:content can be a File, InputStream, ByteArray, or String.
(let [attachments
[{:name "plain.txt", :mime-type "text/plain", :content "Simple."}
{:name "yay.jpg", :content (-> "yay.jpg" io/resource io/file)}]]
(sendgrid/send-email sg-config
{:to "email@example.com"
:from "email2@example.com"
:subject "SendGrid Test"
:html "<h1>Email body here.</h1>"
:attachments attachments}))
;; => {:message "success"}
To run the tests you'll need the following environment variables set:
SENDGRID_API_KEYFROM_EMAILTO_EMAILAlternately you can set these values in a profiles.clj file (see
Environ for more information).
Please note that the tests will send real emails to the TO_EMAIL
you've set, and will count against your SendGrid email quota.
Features differentiating this library from (some of) the alternatives:
Copyright © 2016 Cameron Desautels
Distributed under the MIT License.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |