[racket] (smtp-send-message ...) with #:tls-encode
Thanks Greg,
I'll test your patch against the Exchange server I'm wanting to connect to.
S.
On Mon, Mar 7, 2011 at 9:20 PM, Greg Hendershott
<greghendershott at gmail.com>wrote:
> > Does anyone have an example of using #:tls-encode (net/smtp)?
>
> No, in fact I'm seeing it fail today with an SMTP server that requires
> TLS on port 587.
>
> The reason seems to be that the server is expecting AUTH LOGIN whereas
> net/smtp only does AUTH PLAIN.
>
> I was able to get it to work (with this particular server) by making a
> local copy of smtp-send-message from net/smtp-unit.rkt and modifying
> lines 96-103:
>
> (when auth-user
> (log "auth\n")
> (fprintf w "AUTH PLAIN ~a"
> ;; Encoding adds CRLF
> (base64-encode
> (string->bytes/latin-1
> (format "~a\0~a\0~a" auth-user auth-user auth-passwd))))
> (check-reply r 235 w))
>
> to be this instead:
>
> (when auth-user
> (if tls-encode
> (begin
> (log "auth login\n")
> (fprintf w "AUTH LOGIN\r\n")
> (check-reply r 334 w)
> (fprintf w "~a" ;encoding adds CRLF
> (base64-encode
> (string->bytes/latin-1 auth-user)))
> (check-reply r 334 w)
> (fprintf w "~a" ;encoding adds CRLF
> (base64-encode
> (string->bytes/latin-1 auth-passwd)))
> (check-reply r 235 w))
> (begin
> (log "auth plain\n")
> (fprintf w "AUTH PLAIN ~a" ;encoding adds CRLF
> (base64-encode
> (string->bytes/latin-1
> (format "~a\0~a\0~a" auth-user auth-user
> auth-passwd))))
> (check-reply r 235 w))))
>
> i.e. I tried to keep the AUTH PLAIN case while providing AUTH LOGIN on
> the assumption it will always be wanted when doing TLS. I don't deeply
> know the SMTP protocol. This is based on me observing one specific
> server and guessing what would work. That said, I hope this may help.
>
>
> On Fri, Feb 4, 2011 at 7:51 AM, Stephen De Gabrielle
> <spdegabrielle at gmail.com> wrote:
> > Hi,
> >
> > Does anyone have an example of using #:tls-encode (net/smtp)?
> >
> > Cheers,
> >
> > Stephen
> >
> > --
> > Stephen De Gabrielle
> > stephen.degabrielle at acm.org
> > Telephone +44 (0)20 85670911
> > Mobile +44 (0)79 85189045
> > http://www.degabrielle.name/stephen
> >
> > _________________________________________________
> > For list-related administrative tasks:
> > http://lists.racket-lang.org/listinfo/users
>
--
--
Stephen De Gabrielle
stephen.degabrielle at acm.org
Telephone +44 (0)20 85670911
Mobile +44 (0)79 85189045
http://www.degabrielle.name/stephen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110308/415602f5/attachment.html>