mailq(1) on Solnix vs Linux and the BSDs

On Solnix, mailq is the illumos /usr/bin/mailq, which checks the solaris.mail.mailq authorization and then runs sendmail -bp with your arguments. FreeBSD documents mailq as identical to sendmail -bp. NetBSD's mailq is the Postfix compatibility command and runs postqueue(1).

What Solnix runs

A default Solnix system runs the illumos mailq at /usr/bin/mailq. No other variants are shipped. The bundle includes no Linux mailq page, so nothing is claimed about Linux.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSDauthorization checkSolnix mailq checks the authorization attribute solaris.mail.mailq before running sendmail -bp, and prints an error if the check fails. It is enabled for all users by default and can be disabled in the Basic Solaris User entry of prof_attr(5). The FreeBSD and NetBSD pages describe no such check.
Source: Solnix mailq(1) DESCRIPTION; FreeBSD mailq(1) DESCRIPTION; NetBSD mailq(1) (sendmail) mailq section
FreeBSDrelation to sendmail -bpFreeBSD says mailq is identical to sendmail -bp. Solnix says it used to be identical, and now wraps sendmail -bp behind an authorization check.
Source: FreeBSD mailq(1) DESCRIPTION; Solnix mailq(1) DESCRIPTION
NetBSDMTA behind mailqOn NetBSD, the page is the Postfix sendmail(1) compatibility page. mailq lists the queue by executing postqueue(1) and is configured through main.cf. Solnix and FreeBSD mailq go through Sendmail and sendmail.cf/submit.cf.
Source: NetBSD mailq(1) DESCRIPTION (mailq, -bp); Solnix mailq(1) -Ac; FreeBSD mailq(1) -Ac
NetBSD-AcSolnix -Ac displays the client queue /var/spool/clientmqueue instead of /var/spool/mqueue. On NetBSD, -Ac is recognized but ignored, because Postfix sendmail uses the same configuration file for all submissions.
Source: Solnix mailq(1) -Ac; NetBSD mailq(1) -Am/-Ac (ignored)
FreeBSD-Ac config filesFreeBSD -Ac shows the submission queue named in /etc/mail/submit.cf instead of the MTA queue in /etc/mail/sendmail.cf. The FreeBSD page names no spool directories. The Solnix page names /var/spool/clientmqueue and /var/spool/mqueue.
Source: FreeBSD mailq(1) -Ac; Solnix mailq(1) -Ac
FreeBSD-q options for lost and quarantined itemsFreeBSD documents -qL (lost items), -qQ (quarantined items) and -q[!]Q substr (match quarantine reason). The Solnix page documents none of these. Solnix instead lists -qp[time], -qf and -qG name, which describe queue processing and not display.
Source: FreeBSD mailq(1) -qL, -qQ, -q[!]Q; Solnix mailq(1) -qp, -qf, -qG
FreeBSD, NetBSDstatus characters in the listingFreeBSD can put *, X or - after the queue ID. NetBSD (Postfix) uses *, ! or # (active, hold, forced expire). The Solnix DESCRIPTION documents no status character after the ID, only the + or blank warning indicator added by -v.
Source: FreeBSD mailq(1) DESCRIPTION; NetBSD mailq(1) mailq section; Solnix mailq(1) DESCRIPTION, -v
FreeBSD-v per-recipient statusFreeBSD -v also prints status messages for each recipient when available. The Solnix -v text lists the priority, the warning indicator and controlling-user lines, with no per-recipient status.
Source: FreeBSD mailq(1) -v; Solnix mailq(1) -v
FreeBSDsendmail.cf tuningFreeBSD documents that MaxQueueRunSize limits the items printed per queue group, and that QueueSortOrder can suppress the * status character. The Solnix page documents neither.
Source: FreeBSD mailq(1) DESCRIPTION; Solnix mailq(1)

Standards

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

Writing portable scripts

  • Use mailq without options for a plain queue listing. -Ac, -q variants and -v are Sendmail features, and NetBSD (Postfix) ignores -Ac.
  • Do not parse the queue-ID status characters. FreeBSD uses *, X and -, NetBSD uses *, ! and #, and Solnix documents none.

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.