Postfix is fine, much better than sendmail. However I have to admit I always had a hard time thinking in the same manner that postfix operated. Something about the list based implied logic hurts my head.
Speaking of sendmail it always fascinated me, in the same manner as a train wreak. See sendmail is very nearly a completely generic store and forward engine and is configured such that it speaks smtp. Nobody really wanted a generic engine, they wanted an smtp engine and all the generic configuration was cryptic and getting in the way. so the standard method for actually configuring sendmail was a set of m4 convenience macros. The end result was you needed a configuration language for your... configuration language. Nether one of which was really any good. It sort of reminds me of those CSS compilers. or perhaps latex.
Nobody really wanted a generic engine, they wanted an smtp engine
No, when sendmail was king of the hill, the whole world wasn't SMTP, so being able to mung addresses 'generically' and deliver messages between wildly different, non-RFC822 schemes was critical functionality. Sure, that's not how things are now, but you have to consider the context when it was created.
Sendmail originated in the late 70s/early 80s when there were tons of incompatible systems like DECNet and whatnot, instead of just SMTP, and all of them had all sorts of buggy implementations. Today "SMTP" is analogous with "email", but that wasn't always the case. Sendmail won because it could talk to all of them, in bug-compatible ways.
Later this feature became more of a liability than anything else and people unfamiliar with the original context are left scratching their heads and going "wtf is this shit?! Maybe those Berkley people really were on LSD?!", but it was a hugely critical feature and without it Sendmail never would have gained the adoption it did – it really was tons better than anything else.
I love that "source code" was apparently too arcane a phrase to appear in the New York Times, so they describe it as "original programmer's instructions"
Wow. I had used Postfix back in the day for our mail exchange gateways, but had no idea that it originated from IBM. Postfix was a great piece of software- did one thing, did it well, was easy to configure and manage, and was secure to boot.
Good memories - mostly. Used extensively Postfix between 2003-2011 when worked on ISPs. Back then our Postfix servers handled around 150 Million Mails per month, we had very few issues, mostly related to integrations with other tools like spamassassin and database mailbox auth.
It seems that almost everybody is using postfix these days... Is anybody actually using sendmail? Are actually any reasons for using it (beyond the expertise/preferences of administrators)?
Sendmail works and is maintained, so of course it's still actually used.
That said, if you needed to get a message between two dissimilar messaging systems, then sendmail really shined. I don't mean "between gmail and outlook", I mean really different messaging systems. Like between SMTP and DECNet: no problems. UUCP connected MUA to a IBM CM/VMS PROFS user? We can make that work. AOL or Compuserv email address to Banyan Vines X.400? Why not. Now, it ranged from "this sucks" to "I will seek the peace of death once I figure this out" to actually get that stuff working reliably, but what you needed do it is in there.
This is something that was very common for an MTA to need to do 30-40+ years ago. That was about the last time sendmail had a use case where it was genuinely superior to other offerings.
Not sure if this counts to you, but I believe FreeBSD still ships with functioning mail out of the box, and they use sendmail. On FreeBSD 12 at least, sudo actually reports incidents to root's mailbox :)
With that said, when I was engaged with the FreeBSD community years ago, there would be periodic bursts of drama over "debloating" the base install, and sendmail was one (of several) programs people wanted to remove in order to "debloat" the base install. So I wouldn't be surprised if the latest version no longer has functioning mail, let alone sendmail installed.
Thanks for pointing this out. In the release notes, I see
> sendmail(8) and its configuration remain available.
I assume this means sendmail still exists in base installs. Do you know the rationale behind this decision? Upgrading from FreeBSD 13 shouldn't result in the binary suddenly going away, so I want to believe there are no backwards compatibility concerns with simply replacing sendmail with dma.
dma is not intended as a replacement for real, big MTAs like
sendmail(8) or postfix(1). Consequently, dma does not listen on port
25 for incoming connections.
From the release notes:
The default mail transport agent (MTA) is now the Dragonfly Mail Agent (dma(8)) rather than sendmail(8). Configuration of the MTA is done via mailer.conf(5). sendmail(8) and its configuration remain available.
When I use `git send-email`, I believe it uses sendmail, doesn't it? Also when I installed OpenSMTPD, it overwrote sendmail. I believe `msmtp` also uses sendmail ("SMTP client with a sendmail compatible interface").
Or did I misunderstand the question? I thought sendmail was basically just an interface.
sendmail is both, a commandline client (interface, because it's implemented by multiple projects) that sends mail from the local machine, as well as a full-blown MTA (smtp server, as in postfix).
I use sendmail on a couple of servers. Started them in the late 90s with FreeBSD and it was easier to just keep moving the sendmail configs as I upgraded the servers. What I have works and works well for what I'm doing, though I have an idea someday I'll move over to Postfix...
I ran qmail for more than a decade I think (after sendmail), and don't regret it. But eventually ended up with postfix because I got tired of chasing patches to get qmail to play ball with the evolving, modern email world. At some point, the risk/reward equation inverted.
the problem of qmail is it's author DJB. He considered it 'done' which obviously isn't true. There are quite a few patched versions around but no fork got enough traction to become a living and maintained project.
For a long time you couldn't actually fork it because qmail didn't have a license and djb refused to add one due his unconventional views on licenses and his general stubbornness. So the only thing you could do was distribute a "patch set". And all of this also meant it wasn't packages in many repos.
By the time he finally added a copyright notice it was kind of a "too little, too late" kind of affair.
This is the story with most "djb-ware": daemontools, djbdns, qmail. I think it's a real shame because all of these had great potential to be picked up by others after djb himself lost interest. I suppose daemontools is the most "successful", but only in the form of the runit re-implementation.
i installed it not long ago and really like it! glad i finally stopped listening to the don't run your mail server naysayers and invested sometime into learning how to do this.
Speaking of sendmail it always fascinated me, in the same manner as a train wreak. See sendmail is very nearly a completely generic store and forward engine and is configured such that it speaks smtp. Nobody really wanted a generic engine, they wanted an smtp engine and all the generic configuration was cryptic and getting in the way. so the standard method for actually configuring sendmail was a set of m4 convenience macros. The end result was you needed a configuration language for your... configuration language. Nether one of which was really any good. It sort of reminds me of those CSS compilers. or perhaps latex.