clojure-postmark/usage/index.html @ ca9f5c5a8547

clojure-postmark: Update site.
author Steve Losh <steve@stevelosh.com>
date Sun, 05 Feb 2012 15:42:34 -0500
parents (none)
children d9cb54f8b173
<html><head><title>Usage / clojure-postmark</title><link rel="stylesheet" href="../_dmedia/bootstrap.css"/><link rel="stylesheet" href="../_dmedia/tango.css"/><link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/><script src="../_dmedia/less.js" type="text/javascript">
        </script></head><body class="content">
        <div class="wrap">
            <header><h1><a href="..">clojure-postmark</a></h1></header><div class="markdown"><h1><a href="">Usage</a></h1>
<p>First you need to load the <code>postmark</code> function:</p>
<div class="codehilite"><pre><span class="c1">; In an (ns)</span>
<span class="p">(</span><span class="nf">:use</span> <span class="p">[</span><span class="nv">postmark</span><span class="o">.</span><span class="nv">core</span> <span class="nv">:only</span> <span class="p">(</span><span class="nf">postmark</span><span class="p">)])</span>

<span class="c1">; Outside an (ns)</span>
<span class="p">(</span><span class="nf">use</span> <span class="o">'</span><span class="p">[</span><span class="nv">postmark</span><span class="o">.</span><span class="nv">core</span> <span class="nv">:only</span> <span class="p">(</span><span class="nf">postmark</span><span class="p">)])</span>
</pre></div>


<p>Create a customized <code>postmark</code> function:</p>
<div class="codehilite"><pre><span class="p">(</span><span class="k">def </span><span class="nv">pm</span> <span class="p">(</span><span class="nf">postmark</span> <span class="s">"YOUR_API_KEY"</span> <span class="s">"from-address@example.com"</span><span class="p">))</span>
</pre></div>


<p>Now just call the function to send an email:</p>
<div class="codehilite"><pre><span class="p">(</span><span class="nf">pm</span> <span class="p">{</span><span class="nv">:to</span> <span class="s">"fluffy@example.com"</span>
     <span class="nv">:subject</span> <span class="s">"Your Noms"</span>
     <span class="nv">:text</span> <span class="s">"I wants them."</span><span class="p">})</span>
</pre></div>


<p>You can send to multiple addresses by using a seq for <code>:to</code>, but remember that
Postmark's API won't let you send to more than twenty recipients at a time:</p>
<div class="codehilite"><pre><span class="p">(</span><span class="nf">pm</span> <span class="p">{</span><span class="nv">:to</span> <span class="p">[</span><span class="s">"fluffy@example.com"</span> <span class="s">"sprinkles@example.com"</span><span class="p">]</span>
     <span class="nv">:subject</span> <span class="s">"All of Your Noms"</span>
     <span class="nv">:text</span> <span class="s">"I wants them."</span><span class="p">})</span>
</pre></div>


<p>There are a few other keys you can use in the map you pass to the call:</p>
<div class="codehilite"><pre><span class="p">(</span><span class="nf">pm</span> <span class="p">{</span><span class="nv">:to</span> <span class="p">[</span><span class="s">"fluffy@example.com"</span> <span class="s">"sprinkles@example.com"</span><span class="p">]</span>
     <span class="nv">:cc</span> <span class="p">[</span><span class="s">"haiku@example.com"</span><span class="p">]</span>
     <span class="nv">:bcc</span> <span class="p">[</span><span class="s">"admin@example.com"</span><span class="p">]</span>
     <span class="nv">:subject</span> <span class="s">"All of Your Noms"</span>
     <span class="nv">:text</span> <span class="s">"I wants them."</span>
     <span class="nv">:html</span> <span class="s">"I &lt;b&gt;wants&lt;/b&gt; them."</span>
     <span class="nv">:tag</span> <span class="s">"Noms"</span>
     <span class="nv">:reply-to</span> <span class="s">"avedon@example.com"</span><span class="p">})</span>
</pre></div>


<h2 id="testing">Testing</h2>
<p>If you just want to run a test you can use <code>postmark-test</code> without an API key
instead of <code>postmark</code>:</p>
<div class="codehilite"><pre><span class="p">(</span><span class="nf">use</span> <span class="o">'</span><span class="p">[</span><span class="nv">postmark</span><span class="o">.</span><span class="nv">core</span> <span class="nv">:only</span> <span class="p">(</span><span class="nf">postmark-test</span><span class="p">)])</span>
<span class="p">(</span><span class="k">def </span><span class="nv">pt</span> <span class="p">(</span><span class="nf">postmark-test</span> <span class="s">"from-address@example.com"</span><span class="p">))</span>

<span class="p">(</span><span class="nf">pt</span> <span class="p">{</span><span class="nv">:to</span> <span class="p">[</span><span class="s">"fluffy@example.com"</span> <span class="s">"sprinkles@example.com"</span><span class="p">]</span>
     <span class="nv">:subject</span> <span class="s">"Testing"</span>
     <span class="nv">:text</span> <span class="s">"I might want your noms."</span><span class="p">})</span>
</pre></div>
                </div>
            <footer><p>Created by <a href="http://stevelosh.com">Steve Losh</a>.
Documentation created with <a href="http://sjl.bitbucket.org/d/">d</a>.</p>
<p><br/><a id="rochester-made" href="http://rochestermade.com" title="Rochester Made"><img src="http://rochestermade.com/media/images/rochester-made-dark-on-light.png" alt="Rochester Made" title="Rochester Made"/></a></p>
<script type="text/javascript">
    var _gauges = _gauges || [];
    (function() {
        var t   = document.createElement('script');
        t.type  = 'text/javascript';
        t.async = true;
        t.id    = 'gauges-tracker';
        t.setAttribute('data-site-id', '4f2ee8e5f5a1f5736a000033');
        t.src = '//secure.gaug.es/track.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(t, s);
    })();
</script></footer></div>
    </body></html>