Skip to content
Nigel Metheringham edited this page Nov 29, 2012 · 2 revisions

Q0612

Question

Why does the pipe transport add a line starting with >From to messages?

Answer

Actually, it adds a line starting with From followed by a space. This is commonly referred to as the From_ line, to emphasize the fact that From is followed by a space and not a colon. This is a pseudo-header line that contains the envelope sender address and the time of delivery. It originated as a separator line in Berkeley format mailboxes, but is also used in other contexts. (And yes, it is often confused with the From: header line, and this causes a lot of grief. The use of From_ was one of the really bad email design decisions.) Exim's pipe transport adds this pseudo-header line by default because /usr/ucb/vacation needs it, and that is one of the the most common uses of piping. The procmail local delivery agent also makes use of the From_ line. If you do not want it, change the setting of message_prefix on the pipe transport. For example, to remove the line altogether, use

message_prefix =

If you are not piping to /usr/ucb/vacation or procmail, it is likely that you do not need a From_ line, and indeed it may cause problems if it is present. One user reported that this line gave trouble when a pipe was used to send messages to Courier's deliverquota program. The line was retained with the message, and caused problems for MS Exchange 2000 when retrieving messages with its built-in POP collector. Specifically, it caused Exchange to not be able to recognise message attachments.


Clone this wiki locally