sendmail(8) on Solnix vs Linux and the BSDs

On Solnix, sendmail is the illumos build of the Sendmail MTA at /usr/sbin/sendmail, run as an SMF service. FreeBSD ships the same Sendmail family, but OpenBSD's sendmail is a small enqueuer for smtpd(8) and NetBSD's is the Postfix compatibility interface, so most flags are ignored there.

What Solnix runs

A default Solnix system runs the illumos sendmail at /usr/sbin/sendmail. The page's synopsis shows the path /usr/lib/sendmail. No other variants are shipped. Two SMF services manage it: svc:/network/smtp:sendmail and svc:/network/sendmail-client:default. Startup options live in /etc/default/sendmail.

Differences

Compared withTopicWhat differs
OpenBSD, NetBSDwhich MTA the command isSolnix and FreeBSD run the Sendmail MTA itself. OpenBSD sendmail is only a local enqueuer for smtpd(8). NetBSD sendmail is the Postfix compatibility interface and hands messages to postdrop(1). Behaviour and configuration files differ accordingly.
Source: OpenBSD sendmail(8) NAME, DESCRIPTION; NetBSD sendmail(1) NAME, DESCRIPTION; Solnix sendmail(8) DESCRIPTION; FreeBSD sendmail(8) NAME
OpenBSDaccepted flagsOpenBSD sendmail acts on only -t, -v, -F and -f. Every other Sendmail flag is accepted but has no effect. Solnix implements -bd, -bp, -bi, -bs, -q and many more, so a script using them silently does nothing on OpenBSD.
Source: OpenBSD sendmail(8) SYNOPSIS and DESCRIPTION; Solnix sendmail(8) SYNOPSIS, OPTIONS
NetBSDignored optionsNetBSD sendmail silently ignores -Am, -Ac, -bh, -bH, -h, -L, -m and -n. On Solnix, -h sets the hop count, -L sets the syslog tag and -n turns off aliasing, and all take effect.
Source: NetBSD sendmail(1) -Am, -Ac, -bh, -bH, -h, -L, -m, -n; Solnix sendmail(8) SYNOPSIS (-h N, -L tag, -n); FreeBSD sendmail(8) -h, -L, -n
FreeBSD, OpenBSD, NetBSDhow the daemon is runSolnix runs sendmail under SMF as svc:/network/smtp:sendmail, controlled with svcadm and svcs, with options in /etc/default/sendmail (MODE=-bd). FreeBSD says -bd is normally run from /etc/rc. NetBSD -bd runs "postfix start". The OpenBSD page describes no daemon mode.
Source: Solnix sendmail(8) Service Management, Startup Options; FreeBSD sendmail(8) -bd; NetBSD sendmail(1) -bd; OpenBSD sendmail(8) DESCRIPTION
FreeBSD, OpenBSD, NetBSDremote SMTP access defaultOn an unmodified Solnix system, the SMF property config/local_only defaults to true, which disallows remote access. To accept remote mail, set it false with svccfg, then run svcadm refresh and restart. The BSD pages describe no equivalent property.
Source: Solnix sendmail(8) Enabling Access to Remote Clients; FreeBSD sendmail(8); OpenBSD sendmail(8); NetBSD sendmail(1) -bl
NetBSDlocal-only listeningOn NetBSD, -bl starts daemon mode, and local-only listening needs "inet_interfaces = loopback" in Postfix main.cf. On Solnix, local-only listening is the SMF local_only property, and -bl is in the Solnix synopsis.
Source: NetBSD sendmail(1) -bl; Solnix sendmail(8) SYNOPSIS (-bl), Enabling Access to Remote Clients
FreeBSD, NetBSD-C argumentSolnix and FreeBSD -C names an alternate Sendmail configuration file. FreeBSD also drops set-user-ID/set-group-ID privileges when it is used. NetBSD -C names the Postfix main.cf or its directory, and MAIL_CONFIG can override the location.
Source: Solnix sendmail(8) SYNOPSIS (-C file); FreeBSD sendmail(8) -C; NetBSD sendmail(1) -C, MAIL_CONFIG
FreeBSD, NetBSD-i and dot handlingFreeBSD -i stops stripping a leading dot and stops treating a lone dot as end of input. NetBSD -i only stops treating a lone dot as the end. The Solnix text shown in the bundle does not describe -i.
Source: FreeBSD sendmail(8) -i; NetBSD sendmail(1) -i; Solnix sendmail(8) OPTIONS (trimmed in bundle)
FreeBSDhost status and config check flagsFreeBSD documents -bC (check configuration), -bh (print host status database) and -bH (purge it), plus hoststat, purgestat and mailq aliases. The Solnix synopsis lists none of these.
Source: FreeBSD sendmail(8) SYNOPSIS, -bC, -bh, -bH; Solnix sendmail(8) SYNOPSIS
FreeBSD, OpenBSD, NetBSDqueues and alias databaseSolnix has a client-only queue, /var/spool/clientmqueue, run by sendmail-client. Alias rebuilds (-bi) require root to own and have exclusive write permission to /etc/mail/aliases*. Local lookups can use nsswitch.conf(5). The other pages describe none of this.
Source: Solnix sendmail(8) DESCRIPTION, -bi, CLIENTOPTIONS, CLIENTQUEUEINTERVAL; FreeBSD sendmail(8) DESCRIPTION; NetBSD sendmail(1) newaliases

Standards

  • POSIX: sendmail is not a POSIX.1-2024 utility.

Writing portable scripts

  • Stick to reading a message from stdin with -t, -f and -F. Those work on all four systems. Do not use -bd, -bp, -bi or -q in portable scripts, because OpenBSD ignores them and NetBSD maps them to Postfix commands.
  • Do not edit sendmail.cf or start the daemon by hand. Use svcadm on Solnix, rc on FreeBSD, and the Postfix or smtpd tooling on NetBSD and OpenBSD.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.