| Compile-time macro | § | Tune | -d | Description |
| ARBPTR_T | ...T | port | | How to cast an arbitrary pointer |
| AUTO_NIS_ALIASES | AUTO_NIS_ALIASES | tune | 0.10 | Add fallback alias techniques |
| BROKEN_RES_SEARCH | ...IS_BROKEN | port | | Broken resolver fix (e.g., Ultrix) |
| BSD4_3 | BSD4_3 | port | | BSD 4.3-style signal handling |
| BSD4_4 | BSD4_4 | port | | Compile for BSD 4.4 Unix |
| DATA_PROGRESS_TIMEOUT | DATA_PROGRESS_TIMEOUT | tune | | Timeout inbound DATA phase |
| DNSMAP | DNSMAP | tune | 0.1 | Enable use of dns databases |
| DSN | DSN | tune | | Support DSN |
| EGD | EGD | port | 0.1 | Enable use of the EGD daemon |
| ERRLIST_PREDEFINED | ERRLIST_PREDEFINED | port | | Correct sys_errlist types |
| FAST_PID_RECYCLE | FAST_PID_RECYCLE | port | 0.10 | Quick reuse of pids |
| _FFR_... | _FFR... | tune | 0.13 | Try using future features |
| FORK | FORK | port | | The type of fork(5) to use |
| GIDSET_T | ...T | port | | 2nd argument to getgroups(2) |
| HAS... | HAS... | port | 0.10 | Has specific system call support |
| HESIOD | HESIOD | tune | 0.1 | Support hesiod database maps |
| HES_GETMAILHOST | HES_GETMAILHOST | tune | 0.1 | Use hesiod hes_getmailhost(3) |
| IDENTPROTO | IDENTPROTO | port | 0.10 | See Timeout.ident |
| IP_SRCROUTE | IP_SRCROUTE | tune | 0.10 | Add IP source-routing to $_ |
| ...IS_BROKEN | ...IS_BROKEN | port | | Things that can be broken |
| LA_TYPE | LA_TYPE | port | 3.5 | Define load-average support |
| LDAPMAP | LDAPMAP | tune | 0.1 | Enable use of ldap databases |
| LOG | LOG | tune | 0.1 | Perform logging |
| MAP_NSD | MAP_NSD | tune | 1.0 | Support Irix nsd maps |
| MAP_REGEX | MAP_REGEX | tune | 1.0 | Use regular expression maps |
| MATCHGECOS | MATCHGECOS | tune | 0.1 | Support fuzzy name matching |
| MAX... | MAX... | tune | | Redefine maximums |
| MEMCHUNKSIZE | MEMCHUNKSIZE | tune | | Specify memory malloc size |
| MILTER | MILTER | tune | 0.1 | Enable the X config command |
| MIME7TO8 | MIME7TO8 | tune | 0.1 | Support MIME 7- to 8-bit |
| MIME8TO7 | MIME8TO7 | tune | 0.1 | Support MIME 8- to 7-bit |
| NAMED_BIND | NAMED_BIND | tune | 0.1 | Support DNS |
| NDBM | NDBM | tune | 0.1 | Support Unix ndbm(3) maps |
| NEED... | NEED... | port | | Something amiss with your OS? |
| NET... | NET... | tune | 0.1 | Select network type |
| NETINFO | NETINFO | tune | 0.1 | Support NeXT netinfo(3) maps |
| NEWDB | NEWDB | tune | 0.1 | Support Berkeley db(3) maps |
| NIS | NIS | tune | 0.1 | Support nis maps |
| NISPLUS | NISPLUS | tune | 0.1 | Support nisplus maps |
| NOFTRUNCATE | NOFTRUNCATE | port | 0.10 | Lack ftruncate(2) support |
| NO_GROUP_SET | NO_GROUP_SET | port | | Prevent multi- group file access |
| NOTUNIX | NOTUNIX | tune | 30.2 | Exclude "From " line support |
| _PATH... | _PATH... | tune | | Hard-code paths inside sendmail |
| PH_MAP | PH_MAP | tune | 0.1 | Support for PH maps |
| PICKY_HELO_CHECK | PICKY_HELO_CHECK | tune | | Become picky about HELO |
| PIPELINING | PIPELINING | tune | 0.1 | Enable PIPELINING extension |
| PSBUFSIZ | PSBUFSIZ | tune | | Size of prescan( ) buffer |
| QUEUE | QUEUE | tune | | Enable queueing (prior to V8.12) |
| QUEUESEGSIZE | QUEUESEGSIZE | tune | 41 | Amount to grow queue work list |
| REQUIRES_DIR_FSYNC | REQUIRES_DIR_FSYNC | port | 0.10 | fsync ( ) for directory updates |
| SAFENFSPATHCONF | ...IS_BROKEN | port | 0.10 | pathconf(2) is broken |
| SASL | SASL | tune | 0.1 | Support AUTH (V8.10 and above) |
| SCANF | SCANF | tune | 0.1 | Support scanf(3) with F command |
| SECUREWARE | SECUREWARE | port | 0.10 | Support SecureWare C2 security |
| SFS_TYPE | SFS_TYPE | port | | How to determine free disk space |
| SHARE_V1 | SHARE_V1 | port | 0.10 | Support for the fair share scheduler |
| SIOCGIFCONF_IS_BROKEN | ...IS_BROKEN | port | 0.10 | SIOCGIFCONF ioctl(2) is broken |
| SIOCGIFNUM_IS_BROKEN | ...IS_BROKEN | port | 0.10 | SIOCGIFNUM ioctl(2) is broken |
| SLEEP_T | ...T | port | | Type of return value for sleep2 |
| SM_... | SM_... | port | 0.12 | Sendmail porting settings (V8.12 and above) |
| SM_HEAP_CHECK | SM_HEAP_CHECK | port | 0.12 | Memory-leak detection (V8.12 and above) |
| SM_CONF_SHM | SM_CONF_SHM | tune | 0.12 | Use shared memory (V8.12 and above) |
| SMTP | SMTP | tune | | Enable SMTP (prior to V8.12) |
| SMTPDEBUG | SMTPDEBUG | debug | | Enable remote debugging |
| SMTPLINELIM | SMTPLINELIM | n/a | | Default for obsolete F=L flag |
| SOCKADDR_LEN_T | ...T | port | | Accept's 3rd argument type |
| SOCKOPT_LEN_T | ...T | port | | getsockopt(2)'s 5th arg type |
| SPT_TYPE | SPT_TYPE | port | | Process title support |
| STARTTLS | STARTTLS | tune | 0.4 | Enable TLS (V8.11 and above) |
| SUID_ROOT_FILES_OK | SUID_ROOT_FILES_OK | debug | 0.1 | Allow root delivery to files |
| SYSLOG_BUFSIZE | SYSLOG_BUFSIZE | port | | Limit syslog(3) buffer size |
| SYSTEM5 | SYSTEM5 | port | 0.10 | Support SysV-derived machines |
| SYS5SIGNALS | SYSTEM5 | port | 0.10 | Use SysV-style signals |
| TCPWRAPPERS | TCPWRAPPERS | tune | 0.1 | Use libwrap.a (V8.8 and above) |
| TLS_NO_RSA | TLS_NO_RSA | port | 0.1 | Turn off RSA (V8.12 and above) |
| TOBUFSIZE | TOBUFSIZE | tune | | Set buffer for recipient list |
| TTYNAME | TTYNAME | debug | 35.9 | Set $y to tty name (obsolete) |
| ...T | ...T | port | | The types returned by functions |
| UDB_DEFAULT_SPEC | UDB_DEFAULT_SPEC | tune | | Default User Database location |
| USE_DOUBLE_FORK | USE_DOUBLE_FORK | port | 0.10 | Fork twice (V8.12 and above) |
| USE_ENVIRON | USE_ENVIRON | port | 0.10 | Use environ (V8.12 and above) |
| USING_NETSCAPE_LDAP | USING_NETSCAPE_LDAP | tune | 0.10 | Netscape ldap (V8.10 and above) |
| USERDB | USERDB | tune | 0.1 | Support the User Database |
| USESETEUID | USESETEUID | port | 0.10 | Support seteuid(2) changes |
| WILDCARD_SHELL | WILDCARD_SHELL | debug | | Redefine wild card shell |
| XDEBUG | XDEBUG | debug | 0.1 | Support sanity checks |