Posted Feb 2, 2011 20:28 UTC (Wed) by rfunk (subscriber, #4054)
[Link]
In fact it made things worse; it means you need to understand the m4 syntax, plus know what standard configurations it can pull in, plus know how those standard configurations work, plus you still need to know the original config language so you can fix the standard configurations to work properly.
I actually understand the .cf language better than the m4 layer on top of it. A big part of the problem is that the standard configurations available to m4 have lagged too far behind common situations, like "send from our domain, with no local mailboxes". Here's part of the file I saved from my last sendmail excursion... note that it still needs a .cf-syntax line.
dnl We want a nullclient configuration,
dnl except that we want /etc/aliases respected.
dnl So we selectively pull from nullclient.m4 and modify.
dnl http://brandonhutchinson.com/wiki/Nullclient_with_alias_p...
define(`confFALLBACK_MX', `mail.mydomain.com')dnl
define(`SMART_HOST', `mail.mydomain.com')dnl
define(`confFORWARD_PATH', `')dnl
ifdef(`confFROM_HEADER',, `define(`confFROM_HEADER', `<$g>')')dnl
define(`_DEF_LOCAL_MAILER_FLAGS', `lsADFM5q')dnl
MASQUERADE_AS(`mydomain.com')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
dnl Apparently the only way to force Sendmail to send outside this machine
dnl if the recipient address has any way to match the local machine.
dnl http://www.technoids.org/sendmail/removew.html
LOCAL_RULESETS
LOCAL_RULE_0
R$* < @mydomain.com. > $* $#esmtp $@ mail.mydomain.com $: $1<@mydomain.com.>$2
I like that Allman suggested Postfix for new installs, though of course I think he's wrong about his preference for combining so many functions into one binary.
LCA: Lessons from 30 years of Sendmail
Posted Feb 2, 2011 20:34 UTC (Wed) by rfunk (subscriber, #4054)
[Link]
Posted Feb 2, 2011 22:20 UTC (Wed) by jeleinweber (subscriber, #8326)
[Link]
If you watch the video, the actual question wasn't directed at "which mailer should we install", it was more along the lines of "ignoring sendmail, what would be your second choice?".
Other than that minor nit, a great summary.
Ignoring sendmail
Posted Feb 3, 2011 9:12 UTC (Thu) by ncm (subscriber, #165)
[Link]
A distinction without a difference?
Sendmail configuration
Posted Feb 2, 2011 23:03 UTC (Wed) by rfunk (subscriber, #4054)
[Link]
Thinking about this more...
The original problem was that sendmail.cf was considered to be too low-level and overly-flexible. It's like an assembly language for address rewriting.
The "solution" was to put a simple macro language on top of it, combined with a set of boilerplate configurations.
The real problem with that solution, other than m4's syntax rivaling sendmail.cf's syntax in ugliness, is that the person trying to avoid the assembly language of sendmail.cf is limited to the few boilerplate configurations that someone else has provided (and if we're lucky, documented). It's like we got something like a macro assembler for address rewriting, when what was needed was something much higher-level.
And that higher level is what we have with pretty much every other major MTA around today. They don't have the total flexibility of sendmail.cf, but they're both more flexible and easier to deal with than sendmail.mc (which is intended to be easier to deal with but less flexible than sendmail.cf).
Sendmail configuration
Posted Feb 3, 2011 1:20 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
[Link]
>And that higher level is what we have with pretty much every other major MTA around today. They don't have the total flexibility of sendmail.cf
They do. They just use external modules for that, which is a GOOD thing. I have a set of nice Python scripts to process mail from automatic monitoring systems, and they work just fine with Postfix.
Sendmail configuration
Posted Feb 3, 2011 13:12 UTC (Thu) by nix (subscriber, #2304)
[Link]
They don't. Virtually all currently-live MTAs other than sendmail are constrained to RFC822-format email addresses, for instance. sendmail is not.
(These days, of course, that is a completely useless 'feature', but there's no denying that supporting it is a kind of flexibility that sendmail possesses that other MTAs do not.)
Sendmail configuration
Posted Feb 3, 2011 23:35 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
[Link]
I think that can be done in qmail (well, everything can be done in qmail) and I think it can be done in Postfix.
Sendmail configuration
Posted Feb 3, 2011 23:11 UTC (Thu) by brianomahoney (subscriber, #6206)
[Link]
There is nothing wrong with the 'sendmail.cf' syntax except that you need a programmer, not an admin, to make major changes. The syntax and semantics of sendmail rules are one of the best documented of all configs.
Sendmail configuration
Posted Feb 3, 2011 23:41 UTC (Thu) by rfunk (subscriber, #4054)
[Link]
Yes, sendmail.cf is well-documented and logical, but (at least for modern times) it's too terse and low-level.
It's more procedural than declarative, which is why you need a programmer to change it.
There's really no excuse for its alphabet soup of mailer flags.
And yet I'll happily take sendmail.cf over sendmail.mc.