Hacker News new | past | comments | ask | show | jobs | submit login
Why Postfix is called Postfix and IBM secure mailer (marc.info)
80 points by gurrone on March 28, 2022 | hide | past | favorite | 24 comments



How many greybeards here remember the O'reilly Sendmail bat book[1]? I built an ISP off of deciphering cryptic sendmail.cf parameters from it. This is what the "fix" in Postfix aims to "fix".

(Although the Postfix config files are no walk in the park either.)

[1] https://www.oreilly.com/library/view/sendmail-4th-edition/97...


But you don’t need to know cryptic sendmail.cf parameters, you can just use m4 macros which are totally not cryptic at all.


For the benefit of those fortunate enough to have never had to configure that beast, you can find any number of terrifying examples. Here's one: https://tldp.org/LDP/nag2/x14661.html#X-087-2-SENDMAIL.MC.UU...

From that, we see

  LOCAL_NET_CONFIG
  # This rule ensures that all local mail is delivered using the
  # smtp transport, everything else will go via the smart host.
  R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3
  dnl
Clear as day, right?


it's been a few decades that i had to deal with sendmail (i have a vage memory of having read the whole book on it, though i could be wrong because i also remember joking that i was waiting for the movie instead of reading the book)

anyways, after staring at this for a few minutes and without looking up any syntax, a few things became noticeable:

R$* < @ $* .$m. > $* is matching a pattern, with each $* being assigned to $1, $2 and $3 respectively.

$m must contain the local domain. so effectively this pattern matches any mail addressed to a host with the local domain.

$#smtp if that pattern matches, use smtp,

$@ $2.$m. by connecting to $2.$m. (which means, just use the host that was specified in the original mail)

$: $1 < @ $2.$m. > $3 (not sure what this part does. my guess is: rewrite the email address as specified here, that is in this case don't rewrite it at all.)

it's terse, but regular expressions are worse than this particular example.

now i need to go look up the syntax to see how much i actually got right.

for example i have no idea what the $3 parameter is for. i am guessing $1 is the part before the @ in an email. $3 could be the From address or have something to do with alternate addressing schemes


There were lots of people who could read this for a living. I was more or less able to at one point. Wow, I'm glad that I don't have to anymore, though, in much the same way I'm glad I never had to learn TECO.


TECO isn't actually that bad, and I'd argue that it's roughly on the level of vi in complexity. I learned it just for fun, and found it more powerful than vi. I was using videoteco when I learned it, and I recommend it to anyone that also wants to play around with this.

I definitely would never want to go back to configuring sendmail though. Unlike TECO it doesn't provide anything compared to a modern mail product.


You can now. That was not always the cas e, and that is one of many reasons I used postfix instead of sendmail back in the day.


Poe's Law in full effect.


You made an ISP, this guy made Turtle Race[1]. What was that about Postfix being complex? ;)

1. https://www.linusakesson.net/programming/sendmail/index.php


A neat bit of history. Just the name Postfix has always conjured up in mind that it was fixing a problem. And anybody who's ever used Sendmail knows which problem it was fixing :D There's also qmail, but we don't discuss that in good company.


This was a thing at IBM at that time. I remember eyerolling at a new employer where we per paying a few thousand dollars per server from "IBM-SSH".

IBM-SSH consistent of some IBM guy replacing every instance of "OpenSSH" with "IBM-SSH". One of the interns noticed with one release the find replace hit the man pages.


I always thought of “postfix” as in prefix, infix, and postfix operators[1].

Curious if this was an intentional pun.

1. https://panda.ime.usp.br/pythonds/static/pythonds_pt/02-EDBa...


> "post" was a different word for "mail",

this is clear

> and "fix" was for Sendmail

this is unclear. I don't know how you get "fix" from "Sendmail"


Sendmail was the problem, Postfix was the fix.


Ah nice, so it's more like:

> "post" was a different word for "mail", and [the application was itself a] "fix" ... for Sendmail


I thought it was a play on "pustefix" which is the name of a German bear that is on these bubbles:

https://www.google.com/search?q=german+bubbles+bear&rlz=1C1C...


Off topic: techmonitor.ai seems to good source for ancient tech news (like Google books but plaintext). Fun to digging. Pick random news: https://techmonitor.ai/technology/att_unveils_43_mips_3b4000...


Interesting contrast where the "post" in Postgres is there for the other meaning of post.


It wasn't originally called Postfix; it was VMailer.


ah the good old days, when a bunch of MTA was coming out (exim, vmail, qmail and postfix) to replace sendmail cf and m4 atrocities.

It's interesting to see that the most popular who came out as "winner" has been postfix,

altho these days most people would setup a relay with msmtp going to a closed source provider than full fledged postfix/cyrus service


I'm a Postfix guy myself, but I swear I read somewhere that Exim was more popular?


Yes and no. It’s most likely because exim is the mail manager for cPanel which is still very popular. IMO any server that is non-cPanel with a mail server is most likely using Postfix.


Postfix is good software, but I do not miss managing email servers.


As a hobby mail everything is fun (from MUAs to sieve). If it needs to be reliable it's not. Don't miss self-hosting my email service either ("has the response to my application arrived or did I fail to receive it").




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: