bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#53412: wrappin text lines is not enough, headers shoould be split to


From: Francesco Potortì
Subject: bug#53412: wrappin text lines is not enough, headers shoould be split too
Date: Mon, 07 Mar 2022 14:11:14 +0100

I just discovered that checking overlong text lines is not enough.

Apparently calling mml-to-mime does not wrap overlong headers.

If there is an overlong header, other headers which are utf-8 escaped are not 
sent correctly, and the recipient sees something like this:

Subject: test =?utf-8?Q?=C3=A0?= b c
 =?utf-8?Q?=C3=AC?=

Sending an identical email with long headers split into several lines makes the 
problem disappear.

RFC 5322 mandates mail line lengths less than 998 (including CRLF), and this is 
apparently not enforced by mml-to-mime for headers, I suppose it should.

My current workaround is:

(setq overlength 500)   ; should by 998 including CRLF
(setq overlong-header-message "Overlong header at point: abort sending email.")
(add-hook 'mail-send-hook
          ;; should become useless with Emacs 29
          (lambda ()
            (and (mm-long-lines-p overlength)
                 (mml-to-mime))  ; break overlong text lines
            ;; Now check that no overlong headers exist
            (save-restriction
              (message-narrow-to-headers)
              (goto-char (point-min))
              (and (search-forward-regexp (make-string overlength ?.) nil t)
                   (error overlong-header-message)))))

          90)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]