[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mailing list vs "the futur"



On Fri, Aug 10, 2018 at 08:29:34AM -0400, Rich Kulawiec wrote:
Correct.  Procmail uses a set of rules to decide what to go with messages
presented to it; those rules are usually based on the contents of message
headers, but don't have to be.  For example, for this mailing list:

	:0:
       * ^X-Mailing-List:.*<debian-user@lists.debian.org>
       /home/rsk/linux/debian-user

Translating, this means that any message which has the specified header
will be appended to the file named in the last line.  (It would be nice
if the debian lists complied with RFC 2919 by using List-Id, but at least
this header works and is consistent throughout.)

Debian lists have had List-Id for years. This is classic procmail rule bitrot. :)

The equivalent maildrop syntax is:

 if (/^List-Id: <debian-user.lists.debian.org>/)
   to linux/debian-user

It's hard to argue that the procmail version is less error-prone or more readable. Especially when you get to things like

 :0 Whc: $HOME/msgid.lock
 | formail -D 8192 $HOME/msgid.cache

 :0 a
 .duplicate/

versus

 `reformail -D 8192 msgid.cache`
 if ( $RETURNCODE == 0 )
   to Maildir/.duplicate

Very few people can read and understand the procmail version without looking up what the 'W', 'h', 'c', and 'a' mean, and why there's sometimes two ':' and sometimes one. It was a great program back in the day, but that day was back when we were still writing sendmail.cf by hand and the procmail syntax was comparatively easy to read. If you're starting from scratch, this is not the place to start.

Mike Stone


Reply to: