| 1 | |
|---|
| 2 | CL-SMTP is a simple lisp smtp client. |
|---|
| 3 | It works in ACL, SBCL, CMUCL, OPENMCL, LISPWORKS, CLISP and ECL. |
|---|
| 4 | |
|---|
| 5 | new with support for send attachments, thanks Brian Sorg for the implementation |
|---|
| 6 | |
|---|
| 7 | with authentication support for PLAIN and LOGIN authentication method |
|---|
| 8 | |
|---|
| 9 | and ssl support with cl+ssl package |
|---|
| 10 | |
|---|
| 11 | used cl-base64 and usocket packages (cl-base64 isn't a requirement on ACL) |
|---|
| 12 | |
|---|
| 13 | See INSTALL for prerequisites and build details. |
|---|
| 14 | |
|---|
| 15 | To use cl-smtp: |
|---|
| 16 | |
|---|
| 17 | (asdf:operate 'asdf:load-op 'cl-smtp) |
|---|
| 18 | |
|---|
| 19 | ------------------------------------------------ |
|---|
| 20 | |
|---|
| 21 | (cl-smtp:send-email host from to subject message |
|---|
| 22 | &key (port 25) cc bcc reply-to extra-headers html-message |
|---|
| 23 | authentication attachments (buffer-size 256) ssl) |
|---|
| 24 | |
|---|
| 25 | Arguments: |
|---|
| 26 | - host (String) : hostname or ip-adress of the smtpserver |
|---|
| 27 | - from (String) : email adress |
|---|
| 28 | - to (String or List of Strings) : email adress |
|---|
| 29 | - subject (String) : subject text |
|---|
| 30 | - message (String) : message body |
|---|
| 31 | keywords: |
|---|
| 32 | - cc (String or List of Strings) : email adress carbon copy |
|---|
| 33 | - bcc (String or List of Strings): email adress blind carbon copy |
|---|
| 34 | - reply-to (String) : email adress |
|---|
| 35 | - displayname (String) : displayname of the sender |
|---|
| 36 | - extra-headers (List) : extra headers as alist |
|---|
| 37 | - html-message (String) : message body formatted with HTML tags |
|---|
| 38 | - authentication (List) : list with 2 or elements |
|---|
| 39 | ([:method] "username" "password") |
|---|
| 40 | method is a keyword :plain or :login |
|---|
| 41 | If the method is not specified, the |
|---|
| 42 | proper method is determined automatically. |
|---|
| 43 | - attachments (String or Pathname: attachments to send |
|---|
| 44 | List of String/Pathnames) |
|---|
| 45 | - buffer-size (Number default 256): controls how much of a attachment file |
|---|
| 46 | is read on each loop before encoding |
|---|
| 47 | and transmitting the contents, |
|---|
| 48 | the number is interpreted in KB |
|---|
| 49 | - ssl (or t :starttls :tls) : if t or :STARTTLS: use the STARTTLS functionality |
|---|
| 50 | if :TLS: use TLS directly |
|---|
| 51 | |
|---|
| 52 | Returns nil or error with message |
|---|
| 53 | |
|---|
| 54 | For debug output set the parameter *debug* to t (default nil) |
|---|
| 55 | (setf cl-smtp::*debug* t) |
|---|
| 56 | |
|---|
| 57 | CL-SMTP set automaticly the Date header and the X-Mailer header. |
|---|
| 58 | X-Mailer: cl-smtp ((lisp-implementation-type) (lisp-implementation-version)) |
|---|
| 59 | |
|---|
| 60 | You can change this with setting the parameter *x-mailer* |
|---|
| 61 | (setf cl-smtp::*x-mailer* "my x-mailer string) |
|---|
| 62 | |
|---|
| 63 | If you find bugs or want to send patches for enhancements, by email to |
|---|
| 64 | Jan Idzikowski <jidzikowski@common-lisp.net> |
|---|