Noel Jones:
[Setting the subject to "fax from 555-1212"]
> Since this isn't real email, it might be sufficient to always add a
> Subject header, even if one already exists. And maybe throw away
> the existing Subject too.
>
> I'm pretty sure postfix will only add one header, despite this rule
> matching multiple headers. If it does add multiple headers, you can
> try matching /^Message-ID: / or /^From: /, but those aren't required
> headers either and may not always be present (or just ignore the
> ugliness -- multiple identical Subject: headers probably won't break
> anything).
It's easy enough to ignore existing Subject: lines, but adding
exactly one requires care. The bad news is that PREPEND action (in
access, header_checks, body_checks) will prepend text for each match.
Adding text once robustly requires changes to Postfix, without
entering the slippery slope that ends with a Turing-complete language.
Of all the alternatives that I could think of, EOH pseudo pattern,
match count options in the regexp/pcre implementation, the only
change that seems reasonably implementable is to apply header_checks
to an empty line to signal the end of the message header (which
means Postfix would have to supply this line when none exists).
/^$/ PREPEND Subject: fax from 555-1212
Then, new safety code would have to be added so that REPLACE, IGNORE,
etc., won't remove an existing blank line from the input stream.
Wietse