emacs-mime: Encoding Customization
2.4 Encoding Customization
==========================
‘mm-body-charset-encoding-alist’
Mapping from MIME charset to encoding to use. This variable is
usually used except, e.g., when other requirements force a specific
encoding (digitally signed messages require 7bit encodings). The
default is
((iso-2022-jp . 7bit)
(iso-2022-jp-2 . 7bit)
(utf-16 . base64)
(utf-16be . base64)
(utf-16le . base64))
As an example, if you do not want to have ISO-8859-1 characters
quoted-printable encoded, you may add ‘(iso-8859-1 . 8bit)’ to this
variable. You can override this setting on a per-message basis by
using the ‘encoding’ MML tag (MML Definition).
‘mm-coding-system-priorities’
Prioritize coding systems to use for outgoing messages. The
default is ‘nil’, which means to use the defaults in Emacs, but is
‘(iso-8859-1 iso-2022-jp utf-8)’ when running Emacs in the Japanese
language environment. It is a list of coding system symbols
(aliases of coding systems are also allowed, use ‘M-x
describe-coding-system’ to make sure you are specifying correct
coding system names). For example, if you have configured Emacs to
prefer UTF-8, but wish that outgoing messages should be sent in
ISO-8859-1 if possible, you can set this variable to
‘(iso-8859-1)’. You can override this setting on a per-message
basis by using the ‘charset’ MML tag (MML Definition).
As different hierarchies prefer different charsets, you may want to
set ‘mm-coding-system-priorities’ according to the hierarchy in
Gnus. Here’s an example:
(add-to-list 'gnus-newsgroup-variables 'mm-coding-system-priorities)
(setq gnus-parameters
(nconc
;; Some charsets are just examples!
'(("^cn\\." ;; Chinese
(mm-coding-system-priorities
'(iso-8859-1 cn-big5 chinese-iso-7bit utf-8)))
("^cz\\.\\|^pl\\." ;; Central and Eastern European
(mm-coding-system-priorities '(iso-8859-2 utf-8)))
("^de\\." ;; German language
(mm-coding-system-priorities '(iso-8859-1 iso-8859-15 utf-8)))
("^fr\\." ;; French
(mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8)))
("^fj\\." ;; Japanese
(mm-coding-system-priorities
'(iso-8859-1 iso-2022-jp utf-8)))
("^ru\\." ;; Cyrillic
(mm-coding-system-priorities
'(koi8-r iso-8859-5 iso-8859-1 utf-8))))
gnus-parameters))
‘mm-content-transfer-encoding-defaults’
Mapping from MIME types to encoding to use. This variable is
usually used except, e.g., when other requirements force a safer
encoding (digitally signed messages require 7bit encoding).
Besides the normal MIME encodings, ‘qp-or-base64’ may be used to
indicate that for each case the most efficient of quoted-printable
and base64 should be used.
‘qp-or-base64’ has another effect. It will fold long lines so that
MIME parts may not be broken by MTA. So do ‘quoted-printable’ and
‘base64’.
Note that it affects body encoding only when a part is a raw
forwarded message (which will be made by
‘gnus-summary-mail-forward’ with the arg 2 for example) or is
neither the ‘text/*’ type nor the ‘message/*’ type. Even though in
those cases, you can override this setting on a per-message basis
by using the ‘encoding’ MML tag (MML Definition).
‘mm-use-ultra-safe-encoding’
When this is non-‘nil’, it means that textual parts are encoded as
quoted-printable if they contain lines longer than 76 characters or
starting with "From " in the body. Non-7bit encodings (8bit,
binary) are generally disallowed. This reduce the probability that
a non-8bit clean MTA or MDA changes the message. This should never
be set directly, but bound by other functions when necessary (e.g.,
when encoding messages that are to be digitally signed).