---
name: "spamdb"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/spamdb"
---

# spamdb(8)

spamd database tool

## NAME

**spamdb** – spamd database tool

## SYNOPSIS

**spamdb** \[**-adGTt**\] \[*keys* *...*\]

## DESCRIPTION

**spamdb** manipulates the spamd database in */var/db/spamd* used for [spamd(8)](/spamd/8.md).

The options are as follows:

- **-a**

  Add or update the entries for *keys*. This can be used to whitelist one or more IP addresses (i.e. circumvent the greylisting process altogether) by adding all IP addresses as keys to the spamd database for WHITE entries. If any *keys* specified match entries already in the spamd database, **spamdb** updates the entry's time last seen to now.

- **-d**

  Delete entries for *keys*.

- **-G**

  Delete the keys as GREY entries. See the GREYTRAPPING section of [spamd(8)](/spamd/8.md) for more information. Must be used in conjunction with the **-d** option.

- **-T**

  Add or delete the keys as SPAMTRAP entries. See the GREYTRAPPING section of [spamd(8)](/spamd/8.md) for more information. Must be used in conjunction with the **-a** or **-d** option.

- **-t**

  Add or delete the keys as TRAPPED entries. See the GREYTRAPPING section of [spamd(8)](/spamd/8.md) for more information. Must be used in conjunction with the **-a** or **-d** option.

If adding or deleting a SPAMTRAP address (**-T**), *keys* should be specified as email addresses:

```
spamtrap@mydomain.org
```

Otherwise *keys* must be numerical IP addresses.

### DATABASE OUTPUT FORMAT

If invoked without any options, **spamdb** lists the contents of the database in a text format. If one or more *keys* are specified, only matching entries will be printed.

For SPAMTRAP entries the format is:

```
type|mailaddress
```

where *type* will be SPAMTRAP and *mailaddress* will be the email address for which any connections received by [spamd(8)](/spamd/8.md) will be blacklisted if mail is sent to this address.

For TRAPPED entries the format is:

```
type|ip|expire
```

where *type* will be TRAPPED, *IP* will be the IP address blacklisted due to hitting a spamtrap, and *expire* will be when the IP is due to be removed from the blacklist.

For GREY entries, the format is:

```
type|source IP|helo|from|to|first|pass|expire|block|pass
```

For WHITE entries, the format is:

```
type|source IP|||first|pass|expire|block|pass
```

The fields are as follows:

- type

  *WHITE* if whitelisted or *GREY* if greylisted

- source IP

  IP address the connection originated from

- helo

  what the connecting host sent as identification in the HELO/EHLO command in the SMTP dialogue

- from

  envelope-from address for *GREY* (empty for *WHITE* entries)

- to

  envelope-to address for *GREY* (empty for *WHITE* entries)

- first

  time the entry was first seen

- pass

  time the entry passed from being *GREY* to being *WHITE*

- expire

  time the entry will expire and be removed from the database

- block

  number of times a corresponding connection received a temporary failure from [spamd(8)](/spamd/8.md)

- pass

  number of times a corresponding connection has been seen to pass to the real MTA by [spamlogd(8)](/spamlogd/8.md)

Note that times are in seconds since the Epoch, in the manner returned by [time(3)](/time/3.md). Times may be converted to human readable format using:

```
$ date -r <value>
```

## FILES

*/var/db/spamd*

## SEE ALSO

[spamd.conf(5)](/spamd.conf/5.md), [spamd(8)](/spamd/8.md), [spamd-setup(8)](/spamd-setup/8.md)

## HISTORY

The **spamdb** command appeared in OpenBSD 3.5.
