---
name: "smtpd"
section: "8"
platform: "linux"
package: "opensmtpd"
version: "7.9.0p0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "openbsd", "macos"]
url: "https://new.carta.tech/smtpd"
---

# smtpd(8)

Simple Mail Transfer Protocol (SMTP) daemon

## NAME

**smtpd** – Simple Mail Transfer Protocol (SMTP) daemon

## SYNOPSIS

**smtpd** \[**-dFhnv**\] \[**-D** *macro*=*value*\] \[**-f** *file*\] \[**-P** *system*\] \[**-T** *trace*\]

## DESCRIPTION

**smtpd** is a Simple Mail Transfer Protocol (SMTP) daemon which can be used as a machine's primary mail system. **smtpd** can listen on a network interface and handle SMTP transactions; it can also be fed messages through the standard [sendmail(8)](/sendmail/8.md) interface. It can relay messages through remote mail transfer agents or store them locally using either the mbox or maildir format. This implementation supports SMTP as defined by RFC 5321 as well as several extensions. A running **smtpd** can be controlled through [smtpctl(8)](/smtpctl/8.md).

The options are as follows:

- **-D** *macro*=*value*

  Define *macro* to be set to *value* on the command line. Overrides the definition of *macro* in the configuration file.

- **-d**

  Do not daemonize. If this option is specified, **smtpd** will run in the foreground and log to *stderr*.

- **-F**

  Do not daemonize. If this option is specified, **smtpd** will run in the foreground and log to [syslogd(8)](/syslogd/8.md).

- **-f** *file*

  Specify an alternative configuration file.

- **-h**

  Display version and usage.

- **-n**

  Configtest mode. Only check the configuration file for validity.

- **-P** *system*

  Pause a specific subsystem at startup. Normal operation can be resumed using [smtpctl(8)](/smtpctl/8.md). This option can be used multiple times. The accepted values are:

  - mda

    Do not schedule local deliveries.

  - mta

    Do not schedule remote transfers.

  - smtp

    Do not listen on SMTP sockets.

- **-T** *trace*

  Enables real-time tracing at startup. Normal operation can be resumed using [smtpctl(8)](/smtpctl/8.md). This option can be used multiple times. The accepted values are:

  - imsg

  - io

  - smtp (incoming sessions)

  - filters

  - transfer (outgoing sessions)

  - bounce

  - scheduler

  - expand (aliases/virtual/forward expansion)

  - lookup (user/credentials lookups)

  - stat

  - rules (matched by incoming sessions)

  - mproc

  - all

- **-v**

  Produce more verbose output.

## FILES

- */etc/smtpd/mailname*

  Alternate server name to use.

- */etc/smtpd/smtpd.conf*

  Default **smtpd** configuration file.

- */run/smtpd.sock*

  UNIX-domain socket used for communication with [smtpctl(8)](/smtpctl/8.md).

- */var/spool/smtpd/*

  Spool directories for mail during processing.

- *~/.forward*

  User email forwarding information.

## SEE ALSO

[forward(5)](/forward/5.md), [smtpd.conf(5)](/smtpd.conf/5.md), [mailwrapper(8)](/mailwrapper/8.md), [smtpctl(8)](/smtpctl/8.md)

## STANDARDS

J. Klensin, *Simple Mail Transfer Protocol*, RFC 5321, October 2008.

## HISTORY

The **smtpd** program first appeared in OpenBSD 4.6.
