* smtp.el (smtp-end-of-line): New variable.
authoryamaoka <yamaoka>
Wed, 24 Jul 2002 06:55:07 +0000 (06:55 +0000)
committeryamaoka <yamaoka>
Wed, 24 Jul 2002 06:55:07 +0000 (06:55 +0000)
(smtp-read-response): Use it.
(smtp-send-command): Use it.
(smtp-send-data): Use it.

ChangeLog
smtp.el

index c06eecb..61b9e58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-07-24  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * smtp.el (smtp-end-of-line): New variable.
+       (smtp-read-response): Use it.
+       (smtp-send-command): Use it.
+       (smtp-send-data): Use it.
+
+\f
 2002-06-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * FLIM: Version 1.14.4 (Kashiharajing\e-Dþ-mae) released.\e-A
 2001-02-27  Shuhei KOBAYASHI  <shuhei@aqua.ocn.ne.jp>
 
        MIME Parameter Value decoder support.
-       
+
        * mime-def.el (std11-quoted-pair-regexp, std11-non-qtext-char-list,
        std11-qtext-regexp, std11-quoted-string-regexp): Removed.
        (mime-media-type/subtype-regexp): Ditto.
        mime-parse-Content-Transfer-Encoding): New implementation.
        (mime-read-Content-Type, mime-read-Content-Disposition,
        mime-read-Content-Transfer-Encoding): Ditto.
-       
+
 2001-02-26  Shuhei KOBAYASHI  <shuhei@aqua.ocn.ne.jp>
 
        * hmac-md5.el, hmac-sha1.el: Modify comments.
        * qmtp.el (qmtp-open-connection-function): Revert initial value to
        `open-network-stream'.
        (qmtp-send-buffer): Use `binary-funcall'.
-       
+
 2000-12-23  OKAZAKI Tetsurou  <okazaki@be.to>
 
        * FLIM-ELS (flim-modules): Delete `mmdbuffer'.
        * mmbuffer.el (mime-write-entity-body): Use `binary-write-region'
        instead of `write-region-as-binary'.
        (mime-write-entity): Don't use `write-region-as-raw-text-CRLF'.
-       
+
        * mime-def.el: Don't require `poem'.
        (binary-insert-file-contents): New function.
        (binary-write-region): New function.
 
 2000-12-04   Daiki Ueno  <ueno@unixuser.org>
 
-        * smtpmail.el (smtpmail-send-it): Use `smtp-send-buffer' instead of
-        `smtp-via-smtp'.
-        (smtpmail-send-queued-mail): Ditto.
+       * smtpmail.el (smtpmail-send-it): Use `smtp-send-buffer' instead of
+       `smtp-via-smtp'.
+       (smtpmail-send-queued-mail): Ditto.
 
 2000-11-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
 
 2000-05-25  Tanaka Akira      <akr@m17n.org>
 
-        * mime-en.sgml, mime-ja.sgml: Update for CVS via SSH.
-       
+       * mime-en.sgml, mime-ja.sgml: Update for CVS via SSH.
+
 2000-05-09  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * smtp.el (smtp-deduce-address-list): Set `case-fold-search' to `t'
diff --git a/smtp.el b/smtp.el
index a3f97c6..7b767b1 100644 (file)
--- a/smtp.el
+++ b/smtp.el
@@ -27,7 +27,7 @@
 
 
 ;;; Commentary:
-;; 
+;;
 
 ;;; Code:
 
@@ -61,7 +61,7 @@ called from `smtp-via-smtp' with arguments SENDER and RECIPIENTS."
 (defcustom smtp-service "smtp"
   "SMTP service port number.  \"smtp\" or 25."
   :type '(choice (integer :tag "25" 25)
-                 (string :tag "smtp" "smtp"))
+                (string :tag "smtp" "smtp"))
   :group 'smtp)
 
 (defcustom smtp-local-domain nil
@@ -122,6 +122,17 @@ don't define this value."
 
 (defvar smtp-submit-package-function #'smtp-submit-package)
 
+(defvar smtp-end-of-line "\r\n"
+  "*String to use on the end of lines when talking to the SMTP server.
+This is \"\\r\\n\" by default, but should be \"\\n\" when using and
+indirect connection method, e.g. bind `smtp-open-connection-function'
+to a custom function as shown below:
+
+\(setq smtp-open-connection-function
+      (lambda (name buffer host service)
+       (start-process name buffer \"ssh\" \"-C\" host
+                      \"telnet\" \"-8\" host service)))")
+
 ;;; @ SMTP package
 ;;; A package contains a mail message, an envelope sender address,
 ;;; and one or more envelope recipient addresses.  In ESMTP model
@@ -502,13 +513,13 @@ BUFFER may be a buffer or a buffer name which contains mail message."
        response)
     (while response-continue
       (goto-char smtp-read-point)
-      (while (not (search-forward "\r\n" nil t))
+      (while (not (search-forward smtp-end-of-line nil t))
        (accept-process-output (smtp-connection-process-internal connection))
        (goto-char smtp-read-point))
       (if decoder
          (let ((string (buffer-substring smtp-read-point (- (point) 2))))
            (delete-region smtp-read-point (point))
-           (insert (funcall decoder string) "\r\n")))
+           (insert (funcall decoder string) smtp-end-of-line)))
       (setq response
            (nconc response
                   (list (buffer-substring
@@ -530,7 +541,7 @@ BUFFER may be a buffer or a buffer name which contains mail message."
           (smtp-connection-encoder-internal connection)))
       (set-buffer (process-buffer process))
       (goto-char (point-max))
-      (setq command (concat command "\r\n"))
+      (setq command (concat command smtp-end-of-line))
       (insert command)
       (setq smtp-read-point (point))
       (if encoder
@@ -544,8 +555,8 @@ BUFFER may be a buffer or a buffer name which contains mail message."
         (smtp-connection-encoder-internal connection)))
     ;; Escape "." at start of a line.
     (if (eq (string-to-char data) ?.)
-       (setq data (concat "." data "\r\n"))
-      (setq data (concat data "\r\n")))
+       (setq data (concat "." data smtp-end-of-line))
+      (setq data (concat data smtp-end-of-line)))
     (if encoder
        (setq data (funcall encoder data)))
     (process-send-string process data)))