Git Product home page Git Product logo

cl-smtp-hh's Introduction

This is a fork of the CL-SMTP library (http://common-lisp.net/project/cl-smtp/)
It is maintained by Hans Hübner and has a few features that have not been merged
into the upstream version, most prominently the WITH-SMTP-MAIL function.  Both
versions have diverged significantly, with the upstream version being maintained
more, with a focus on MIME mail generation.  This versin is more concerned with 
the SMTP aspects and meant to be used with a MIME message generation library
like cl-mime.

For all questions or comments regarding this version, please contact
[email protected].

The original README follows:

CL-SMTP is a simple lisp smtp client. 
It works in ACL, SBCL, CMUCL, OPENMCL, LISPWORKS, CLISP and ECL.

new with support for send attachments, thanks Brian Sorg for the implementation

with authentication support for PLAIN and LOGIN authentication method

and ssl support with cl+ssl package

used cl-base64 and usocket packages (cl-base64 isn't a requirement on ACL)

See INSTALL for prerequisites and build details.

To use cl-smtp:

(asdf:operate 'asdf:load-op 'cl-smtp)

------------------------------------------------

(cl-smtp:send-email host from to subject message
                    &key (port 25) cc bcc reply-to extra-headers html-message 
                    authentication attachments (buffer-size 256) ssl)

 Arguments:
  - host (String)                  : hostname or ip-adress of the smtpserver
  - from (String)                  : email adress 
  - to (String or List of Strings) : email adress 
  - subject (String)               : subject text
  - message (String)               : message body
  keywords:
  - cc (String or List of Strings) : email adress carbon copy
  - bcc (String or List of Strings): email adress blind carbon copy
  - reply-to (String)              : email adress
  - displayname (String)           : displayname of the sender
  - extra-headers (List)           : extra headers as alist
  - html-message (String)          : message body formatted with HTML tags
  - authentication (List)          : list with 2 or elements
                                     ([:method] "username" "password")
                                     method is a keyword :plain or :login
                                     If the method is not specified, the
                                     proper method is determined automatically.
  - attachments (String or Pathname: attachments to send
                List of String/Pathnames)
  - buffer-size (Number default 256): controls how much of a attachment file
                                      is read on each loop before encoding 
                                      and transmitting the contents, 
                                      the number is interpreted in KB 
  - ssl (or t :starttls :tls)       : if t or :STARTTLS: use the STARTTLS functionality
                                      if :TLS: use TLS directly

Returns nil or error with message

For debug output set the parameter *debug* to t (default nil)
(setf cl-smtp::*debug* t)

CL-SMTP set automaticly the Date header and the X-Mailer header.
X-Mailer: cl-smtp ((lisp-implementation-type) (lisp-implementation-version))

You can change this with setting the parameter *x-mailer*
(setf cl-smtp::*x-mailer* "my x-mailer string)

If you find bugs or want to send patches for enhancements, by email to
Jan Idzikowski <[email protected]>

cl-smtp-hh's People

Contributors

hanshuebner avatar wukix avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.