---
name: "greylistd-setup-exim4"
section: "8"
platform: "linux"
package: "greylistd"
version: "0.9.0.4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/greylistd-setup-exim4"
---

# greylistd-setup-exim4(8)

add/remove support for greylistd in Exim 4

## NAME

greylistd-setup-exim4 - add/remove support for greylistd in Exim 4

## SYNOPSIS

**greylistd-setup-exim4** {**add**\|**remove**\|**test**} \[*file acl\_name*\] \[*-option* ...\]

## DESCRIPTION

This utility configures, deconfigures, or tests for greylistd support in the given Exim 4 configuration file and Access Control List (ACL).

If no file or ACL name is supplied, changes are made to the default configuration files and ACLs for your distribution.

## USAGE

The following commands are available:

- **add**

  Adds greylistd statement(s).

- **remove**

  Removes existing greylistd statement(s).

- **test**

  Tests for the presence of greylistd statement(s), without making any changes.  A zero exit status indicates that the statement(s) exist(s).

The following options are available:

- **-quiet**

  Normally, the result of the operation is printed on standard error; this option inhibits output.

- **-no-fail**

  Always exit with a zero status, even on failure. If this option is given, only the result of successful operations are printed.

- **-no-reload**

  Normally, if any changes were made to the Exim 4 configuration files, **greylistd-setup-exim4** invokes the Exim 4 init script, telling Exim to reload its configuration files.  This option inhibits this behavior.

- **-netmask=***size*

  In the statement that is inserted in the Exim 4 configuration file, the remote host address is one of the items that is passed on to greylistd.  This option causes the host address to be filtered through a netmask of the given size first.  Useful values are between 16 and 31 for IPv4.

- **-acltype=**{**rcpt**\|**data**}

  Used in conjunction with the **add** command to insert a statement suitable for use in an ACL used to validate the SMTP **RCPT TO:** command or the message **DATA**, respectively.  This is implicit when the supplied ACL name contains either of the substrings "**rcpt**" or "**data**" (such as Debian's default "**acl\_check\_rcpt**" and "**acl\_check\_data**" ACLs).  Otherwise, this option has to be present for the **add** command.

## EXAMPLES

- **greylistd-setup-exim4 add -netmask=24**

  Adds greylistd statements to any **acl\_check\_rcpt** and **acl\_check\_data** ACLs found in any of the following files:

    \- /etc/exim4/exim4.conf.template\
     \- /etc/exim4/conf.d/acl/30\_exim4-config\_check\_rcpt\
     \- /etc/exim4/conf.d/acl/40\_exim4-config\_check\_data

  In these statements, the data passed to greylistd includes the host address filtered through a 24-bit netmask, rather than the host's unique IP address.  This allows for pools of several Mail Sending Agents (MSAs) within a given network to be treated as a single host.

  If successful, Exim 4 is told to reload its configuration files. If a statement already exists, nothing happens - but the program exits unsuccessfully (non-zero return code).

- **greylistd-setup-exim4 remove -quiet**

  Remove greylisting support from the above configuration files and ACLs. If greylistd statements exist in these files and ACLs, they are removed, and Exim 4 will reload its configuration files.  The exit code indicates whether the statements were present and are now successfully removed; but no results are printed.

- **greylistd-setup-exim4 add /etc/exim4/exim4.conf.template acl\_check\_rcpt -no-reload**

  If no greylistd statements already exists in the **acl\_check\_rcpt** ACL in the file **/etc/exim4/exim4.conf.template**, one is inserted.  In this case, the Exim 4 daemon is then NOT told to reload its configuration files.

## BUGS

The statement that is inserted by this utility presumes that the Exim 4 configuration comes from Debian's "**exim4-config**" package. Specifically, it makes use of the **+relay\_from\_hosts** host list, the **+local\_domains** and **+relay\_to\_domains** domain lists, and the **acl\_local\_deny\_exceptions** ACL.  A more generalized approach is on my, ahem, to-do list.

## AUTHOR

This python script and manual page is written by Tor Slettnes, originally for Debian GNU/Linux.

## COPYRIGHT

Copyright © 2004-2005 Tor Slettnes.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

On a Debian GNU/Linux system, the full text of the GPL is available in /usr/share/common-licenses/GPL.  It is also available at:

    http://www.gnu.org/licenses/gpl.html

## SEE ALSO

[**greylist**(1)](/greylist/1.md), [**greylistd**(8)](/greylistd/8.md), **/usr/share/doc/exim4/spec.txt.gz**
