Skip to content
/ mailgun Public

A thin wrapper to post HTML emails through mailgun.com

License

Notifications You must be signed in to change notification settings

40ants/mailgun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mailgun - send emails from Common Lisp!

This library provides an easy way to send transactional emails through http://mailgun.com.

Note

You don't have to setup your own SMTP servers!

And they have a "free" plan with 10000 emails per month.

Reasoning

Previously, I used this code in one of my projects, but seems this functionality needed almost in any serious web application. So, I decided to make it available as a separate library.

Here is how to use it

First, setup an account at http://mailgun.com. You need to add your domain there and to reveive an authentication token.

(setf mailgun:*domain* "mail.skazorama.ru")
(setf mailgun:*api-key* "key-************************")

(mailgun:send ("noreply@skazorama.ru"
               "svetlyak.40wt@gmail.com"
               "Mail subject")
  (:h1 "This is a test letter")
  (:p "It is in a HTML format and supports some tags"
      "For example, I can make " (:b "a bold text") ".")
  (:p "And here we have some items, passed to the template:")
  (:ul
   (loop for item in items
         do (mailgun:htm
             (:li item)))))

Roadmap

  • Add support for styles, build them with LASS and embed into an email's markup.

Building Documentation

Provide instruction how to build or use your library.

How to build documentation

To build documentation, you need a Sphinx. It is documentaion building tool written in Python.

To install it, you need a virtualenv. Read this instructions how to install it.

Also, you'll need a cl-launch. It is used by documentation tool to run a script which extracts documentation strings from lisp systems.

Run these commands to build documentation:

virtualenv --python python2.7 env
source env/bin/activate
pip install -r docs/requirements.txt
invoke build_docs

These commands will create a virtual environment and install some python libraries there. Command invoke build_docs will build documentation and upload it to the GitHub, by replacing the content of the gh-pages branch.

Authors

Copyright

Copyright (c) 2018 Alexander Artemenko (svetlyak.40wt@gmail.com)

About

A thin wrapper to post HTML emails through mailgun.com

Resources

License

Stars

Watchers

Forks

Packages

No packages published