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