[plt-scheme] Re: email using ssl
At Wed, 21 Feb 2007 19:35:12 -0500, Stevie Strickland wrote:
> On Thu, Feb 22, 2007 at 05:44:30AM +0800, Matthew Flatt wrote:
> > [...] no one has
> > actually implemented it in "smtp.ss".
> [...]
> I may see about trying my hand at it and getting you such a patch.
Thanks to Stevie for a patch and example use! I've applied the patch in
SVN, and the example is below.
The `smtp-send-message' function now accepts a #:tls-convert argument
that turns on TLS mode. The argument should normally be
`ports->ssl-ports' from "mzssl.ss" in the "openssl" collection.
(By having the caller supply the `ports->ssl-ports' function instead of
just #t, the STMP module avoids importing directly from the "openssl"
collection. Blame for this cheap linking trick goes to me, not Stevie.)
Matthew
----------------------------------------
(require
(lib "head.ss" "net")
(lib "smtp.ss" "net")
(lib "mzssl.ss" "openssl"))
(let* ([account "me.myself"]
[passwd "secret!"]
[from (string-append account "@gmail.com")]
[to "someone.else at someplace"])
(smtp-send-message "smtp.gmail.com"
from
(list to)
(standard-message-header from
(list to)
'() '()
"This is a test")
(map string->bytes/locale
(list "This message is a test."
"It is only a test."))
#:port-no 587
;; Use TLS:
#:tls-encode ports->ssl-ports
;; Supply username and password:
#:auth-user account
#:auth-passwd passwd))