Date: Wed, 05 Apr 2000 15:54:58 -0500 From: Neil W Rickert To: Martin Mokrejs >We run currently without the m flag: ># m This mailer can send to multiple users on the same host in one transaction. ># When a $u macrooccurs in the argv part of the mailer definition, that field ># will be repeated as necessary for allqualifying users. >I don't understand it much, we run currently without it but what about turning >it on? ;) You should turn it on where that makes sense. Certainly, turn it on for the SMTP mailers. For example, suppose you send a message to 'sendmail-bugs(_at_)sendmail(_dot_)org' with a Cc: to 'sendmail-questions(_at_)sendmail(_dot_)org'. If you have the 'm' flag set, then your system will send it once, with both addresses. Then the duplicate address suppression at sendmail.org will ensure that I am only sent one copy of your message. If, instead, you don't use the 'm' flag, your system will send the message twice, I will receive two copies, and I will be a tad irritated at the extra annoyance. I hope that clarifies the point. For the local mailer, it is a different question. Omitting the 'm' has some advantages if you are not using LMTP. With the 'm' flag you sometimes get duplicate mail. [and the followup message:] >> For the local mailer, it is a different question. Omitting the >> 'm' has some advantages if you are not using LMTP. With the 'm' >> flag you sometimes get duplicate mail. >Hmm, more details/examples available, please? The local mailer is the only commonly used non-SMTP mailer which could fail for some recipients but succeed for others. By comparison, an error from a UUCP mailer would normally be for all recipients of that message with uucp addresses in the same transaction. But the local mailer can fail for an individual recipient. The recipient might have messed up mailbox permissions. Or he/she might be over disk quota. The interface with non-smtp (non-lmtp) mailers does not allow individual identification of which recipient address caused the error. If there is a temporary error for one recipient (over quota, for example), sendmail treats it as a temporary error for all local recipients from this transaction, and retries to all addresses. If there is a permanent error, the error message suggests that mail to all recipients failed. If the 'm' flag is not used, there is only one recipient for the transaction and the problem does not arise. Or, if an LMTP local delivery agent is used, then individual response codes are given and the problem does not arise. --------- >This leads me to one more question: >I call procmail in the Mlocal part ( MAILER(`procmail') I guess )and also >Mprocmail (this is the result of FEATURE(`local_procmail') I guess. Actually, you have that backwards. FEATURE(`local_procmail') makes the Mlocal line reference procmail. MAILER(`procmail') provides a separate procmail mailer. >They have different flags, so under which circumstances is called each? Whe `local_procmail' is used, the flags/options are set so that the default will be for procmail to deliver to the user mailbox, unless the user has provided his own recipes. The separate `procmail' mailer is intended for special cases, such as where virtual hosting is dumping mail for a virtual domain into special directories. So procmail is given options to use a global configuration file. The 'procmail' man pages will give more details on the differences.