Skip to content

eudoxia0/postmaster

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 

Postmaster - Email for humans

Postmaster is a simple, easy to use SMTP/IMAP library with an API inspired by NodeMailer.

Usage

Services

Postmaster maintains a list of common and well-known services, so you don't have to worry about hosts and ports, and can just send email to addresses.

(in-package :postmaster.services)

;; You can find services by name
(find-service-by-name "gmail")

;; ... Or by domain name
(find-service-by-domain "gmail.com")

;; Failing that, you can define your own
(defparameter *service*
  (make-instance '<service>
                 :name "GMail"
                 :domains (list "gmail.com" "googlemail.com")
                 :smtp-server (make-instance '<smtp-server>
                                             :host "smtp.gmail.com"
                                             :ssl :tls)))

Class defaults (SSL, ports) are safe and sane.

Accounts

Once you have a service, you log in:

(in-package :postmaster.services)

(defparameter *account*
  (make-instance '<account>
                 :service *service*
                 :username "me@gmail.com"
                 :password "A really long, safe dictionary password. Right?"))

Sending Email

(defparameter *email*
  (make-instance 'postmaster.email:<email>
                 :from "me@gmail.com"
                 :to "friend@initech.com"
                 :subject "Why you should rewrite all your startup's code in CL"
                 :body "Paul Graham. Speed. Macros. CLOS. Done"))

(postmaster.smtp:send *account* *email*)

Extensions

Postmaster Mock

This library provides a mock Email service that stores all messages it gets in an internal store. Accounts can be registered to the service and the stored emails inspected. This is useful for testing a Postmaster-based application.

License

Copyright (c) 2014 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.

About

Email for humans

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published