]> git.eshelyaron.com Git - emacs.git/commitdiff
Fill too long mail headers
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 26 Jan 2017 21:51:19 +0000 (22:51 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 26 Jan 2017 21:51:19 +0000 (22:51 +0100)
* lisp/gnus/message.el (message--fold-long-headers): New
function to fold too-long headers (bug#21608).
(message-send-mail): Use it to fill headers longer than 998
characters (which is the protocol limit).

lisp/gnus/message.el

index 50d2380dd7b6e14c06ab2675fff3fe9d88b9be4b..e45ab1080a5ad4806296be82940db21d9b7a5898 100644 (file)
@@ -4552,6 +4552,9 @@ This function could be useful in `message-setup-hook'."
            (forward-line 1)
            (unless (y-or-n-p "Send anyway? ")
              (error "Failed to send the message")))))
+      ;; Fold too-long header lines.  They should be no longer than
+      ;; 998 octets long.
+      (message--fold-long-headers)
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
     (setq options message-options)
@@ -4648,6 +4651,14 @@ If you always want Gnus to send messages in one piece, set
     (setq message-options options)
     (push 'mail message-sent-message-via)))
 
+(defun message--fold-long-headers ()
+  (goto-char (point-min))
+  (while (not (eobp))
+    (when (and (looking-at "[^:]+:")
+              (> (- (line-end-position) (point)) 998))
+      (mail-header-fold-field))
+    (forward-line 1)))
+
 (defvar sendmail-program)
 (defvar smtpmail-smtp-server)
 (defvar smtpmail-smtp-service)