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.
The manual pages
- Solnix: sendmail(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: sendmail(8) 15.1-RELEASE
- OpenBSD: sendmail(8) 8.0
- NetBSD: sendmail(1) 11.0
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 with | Topic | What differs |
|---|---|---|
| OpenBSD, NetBSD | which MTA the command is | Solnix 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 |
| OpenBSD | accepted flags | OpenBSD 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 |
| NetBSD | ignored options | NetBSD 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, NetBSD | how the daemon is run | Solnix 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, NetBSD | remote SMTP access default | On 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 |
| NetBSD | local-only listening | On 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 argument | Solnix 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 handling | FreeBSD -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) |
| FreeBSD | host status and config check flags | FreeBSD 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, NetBSD | queues and alias database | Solnix 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,-fand-F. Those work on all four systems. Do not use-bd,-bp,-bior-qin 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.