[cl-smtp-devel] Patch to support sending raw messages

Anton Vodonosov avodonosov at yandex.ru
Sun Mar 23 22:53:54 UTC 2008


Hans wrote:


> What I did not find in his patch was the mentioned change in
> CR/LF handling.  I'd like to fix that, too, but I would want to do
> that on the stream level rather than requiring the message to be all
> in memory.

What I mean is the following lines:

  (defun open-smtp-connection (sock &key authentication secure)
    (let ((stream (flex:make-flexi-stream sock
                                          :external-format
                                          '(:latin-1 :eol-style :lf))))

and underlying socket stream is binary:

  (defun send-smtp (host from to subject message
                    &key port cc bcc
                    reply-to extra-headers html-message
                    display-name authentication attachments buffer-size secure)
    (assert-one-of secure '(nil :tls :starttls))
    (when (null port)
      (setf port (if (eq secure :tls) 465 25)))
    (let* ((sock (usocket:socket-stream (usocket:socket-connect host port
                                                                :element-type
                                                                '(unsigned-byte 8))))

I.e. I encountered problem with CRLF transformation in initial
communication with server (HELLO, EHLO, etc.), even before sending
a message body.

> Before further hacking, I'd like to hear if anyone else has needs
> or plans ...
> Please review and let me know what you think.  Thanks!
> -Hans

As for me, I'm interested in having one common version of the library,
so that my soft will be compatible with it and I will be able to easy
migrate to new releases.

So I'll take a more careful look at your patch little bit later and
if find something to discuss, send my comments.

Best regards,
-Anton






More information about the cl-smtp-devel mailing list