-.TH MHFIXMSG %manext1% "March 23, 2017" "%nmhversion%"
-.\"
+.TH MHFIXMSG %manext1% 2018-01-14 "%nmhversion%"
+.
.\" %nmhwarning%
-.\"
+.
.SH NAME
-mhfixmsg \- rewrite nmh MIME messages with various transformations
+mhfixmsg \- nmh's MIME-email rewriter with various transformations
.SH SYNOPSIS
.HP 5
.na
.RI [ +folder ]
.RI [ msgs " | "
.IR "absolute pathname" " | "
-.RB \-file
+.B \-file
.IR file ]
.RB [ \-decodetext
8bit|7bit|binary |
.BR \-nodecodetext ]
.RB [ \-decodetypes
.IR "type/[subtype][,...]" ]
+.RB [ \-decodeheaderfieldbodies
+utf-8 |
+.BR \-nodecodeheaderfieldbodies ]
.RB [ \-crlflinebreaks " | " \-nocrlflinebreaks ]
.RB [ \-textcharset
.I charset
.B \-decodetext
to just text/plain parts.
.PP
+The
+.B \-decodeheaderfieldbodies
+switch enables decoding of UTF-8 header field bodies, when supplied
+with its mandatory
+.I utf-8
+argument. The
+.B \-nodecodeheaderfieldbodies
+inhibits this transformation. The transformation can produce a message
+that does not conform with RFC 2047, §1, paragraph 6, because the decoded
+header field body could contain unencoded non-ASCII characters. It is
+therefore not enabled by default.
+.PP
By default, carriage return characters are preserved or inserted at
the end of each line of text content. The
.B \-crlflinebreaks
switch causes carriage return characters to be stripped from, and not
inserted in, text content when it is decoded and encoded. Note that
its use can cause the generation of MIME messages that do not conform
-to RFC 2046, §4.1.1, paragraph 1.
+with RFC 2046, §4.1.1, paragraph 1.
.PP
The
.B \-textcharset
.B nmh
be built with
.IR iconv (3);
-see the
-.BR mhparam (1)
-man page for how determine whether your
+see
+.IR mhparam (1)
+for how determine whether your
.B nmh
installation includes that.
To convert text parts other than text/plain, an external program can
.PP
.RS 5
.nf
-.ta \w'\-crlflinebreaks 'u
-\-decodetext base64 and quoted-printable encoded text parts
-\-decodetypes limits parts to which -decodetext applies
-\-crlflinebreaks text parts
-\-textcharset text/plain parts
-\-reformat text parts that are not text/plain
-\-fixboundary outermost multipart part
-\-fixcte multipart or message part
-\-fixtype all except multipart and message parts
+.ta \w'\-decodeheaderfieldbodies 'u
+\-decodetext base64 and quoted-printable encoded text parts
+\-decodetypes limits parts to which -decodetext applies
+\-decodeheaderfieldbodies all message parts
+\-crlflinebreaks text parts
+\-textcharset text/plain parts
+\-reformat text parts that are not text/plain
+\-fixboundary outermost multipart part
+\-fixcte multipart or message part
+\-fixtype all except multipart and message parts
.fi
.RE
.SS "Backup of Original Message/File"
One approach could be based on:
.PP
.RS 5
-msgs=`inc -format '%(msg)'` && [ -n "$msgs" ] && scan $msgs && \
+msgs=\`inc -format '%(msg)'\` && [ -n "$msgs" ] && scan $msgs && \
mhfixmsg -nochangecur $msgs
.RE
.PP
.ta \w'\-fixboundary 'u
PATH = %bindir%:$PATH
LANG = en_US.utf8
-MAILDIR = `mhparam path`
+MAILDIR = \`mhparam path\`
#### The Backups directory is relative to MAILDIR.
MKSTEMP = 'mkstemp -directory Backups -prefix mhfixmsg'
MHFIXMSG = 'mhfixmsg -noverbose -file - -outfile -'
:0 w: nmh-workers/procmail.$LOCKEXT
* ^TOnmh-workers@nongnu.org
-| tee `$MKSTEMP` | $MHFIXMSG | $STORE +nmh-workers
+| tee \`$MKSTEMP\` | $MHFIXMSG | $STORE +nmh-workers
.fi
.RE
.SH "EXAMPLES"
.PP
.RS
.nf
-for msg in `pick +folder`; do mhfixmsg +folder $msg; done
+for msg in \`pick +folder\`; do mhfixmsg +folder $msg; done
.fi
.RE
.PP
.fc ^ ~
.nf
.ta \w'%nmhetcdir%/mhn.defaults 'u
-^$HOME/\&.mh\(ruprofile~^The user profile
+^$HOME/.mh_profile~^The user profile
^%nmhetcdir%/mhn.defaults~^Default mhfixmsg conversion entries
.fi
.SH "PROFILE COMPONENTS"
.RB ` msgs "' defaults to cur"
.RB ` "\-decodetext 8bit"'
.RB ` "\-decodetypes text,application/ics"'
+.RB ` \-nodecodeheaderfieldbodies '
.RB ` \-crlflinebreaks '
.RB ` \-notextcharset '
.RB ` \-reformat '