1

Postfix (and lots of other stuff) claim they offer sendmail compatible interface. Since I want to write my own sendmail implementation, I was wondering what that actually means. Is there anything RFC-like describing what sendmail-compatible actually means? Like what arguments it should support and stuff?

2 Answers 2

3

There are no formal specs, but in practice a "sendmail compatible interface" means you have a MTA with a local mail injection agent named sendmail, and that if you replace the real sendmail(8) with it everything will keep running without taking notice of the change. This means implementing at the very least sendmail(8)'s options -t, -i, and -oi, and accepting messages in the same format as sendmail(8).

Then again, since you're writing a replacement you're intimately familiar with all the relevant RFCs, aren't you. :)

2
  • I admit I'm missing difference between -i and -oi (using postfix.org/sendmail.1.html as source). As for the RFCs... well I had brief look O:-) Yeah but will definitely read them more in depth before starting this thing.
    – graywolf
    Oct 8, 2017 at 15:40
  • 1
    The difference between -oi and -i for sendmail(8) was the stage when the option was applied. Not sure if this is still the case, I haven't used the real sendmail(8) in 15+ years. For all intents and purposes you can probably treat them as equivalent. Oct 8, 2017 at 15:48
0

In this case "sendmail compatible" is not just talking about being RFC compatible, it is more talking about the fact that once postfix is installed you can run most of the basic "sendmail-familiar" commands and postfix will return similar results (e.g., "sendmail -bt", or "mailq", etc.). The benefit is that you can run postfix and any software that is expecting to use sendmail will continue to work without knowing they are using postfix.

I would strongly caution you against writing your on SMTP MTA. The RFCs are lengthy and have been revised many times and are somewhat complex. I know because I have written an MTA for high-volume sending in 'C' and assembler and the intricacies and evolving RFCs were at times a challenge. The addition of encryption, domainkeys and DKIM as well as SPF and DMARC add to the complexity. On top of that, many other non-sendmail-MTAs violate the RFCs at some point or another. Everything has to be compatible with sendmail, it is the "defacto" standard.

I operate systems that send BILLIONS of encrypted messages per month and nothing handles the volume of mail faster or better, or easier to manage than sendmail. Sendmail is a little "arcane" but once you understand some basics it is easy to manage and easy to maintain.

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .