exim/maildrop: escaped mbox-“>From” separator in body

“From” is the line that separates emails in mbox format.

Maildrop does not expect mbox format on stdin. If it encounters a mbox “From ” it quotes it with a “>” sign as described by in some standard documents. For example, RFC 4155 says:

Many implementations are also known to escape message body lines that
begin with the character sequence of "From ", so as to prevent
confusion with overly-liberal parsers that do not search for full
separator lines.  In the common case, a leading Greater-Than symbol
(0x3E) is used for this purpose.

The solution here is not to get maildrop to ignore the header, but not to send it in the first place. In Exim the pipe transport sends mbox format into the pipe by default. This can be stopped by setting message_prefix to an empty value, e.g.

# This transport is used for courier-maildrop filtering (Maildir filter system)
  driver = pipe
  command = "/usr/bin/maildrop -d ${local_part}"
  # https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_pipe_transport.html
  # Don't make an mbox out of this mail, maildrop escapes it with ">"
  message_prefix = 
The option is explained in the Exim documentation about the pipe transport.

mbox file format descriptions

Licensed under the Creative Commons Attribution-Share Alike 3.0 License.
Created 2018-08