| 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> |
|---|