#### 3.16.1 Login delay ¶

POP3 clients often login frequently to check for new mail. Each new connection implies authenticating the user and opening his maildrop and can be very resource consuming. To reduce server load, it is possible to impose a minimum delay between any two consecutive logins. This is called ‘`LOGIN-DELAY`’ capability and is described in RFC 2449.

As of version 3.20, GNU Mailutils `pop3d` allows to set global login delay, i.e. such enforcement will affect all POP3 users. If a user attempts to log in before the specified login delay expires, he will get the following error message:

    -ERR [LOGIN-DELAY] Attempt to log in within the minimum login delay interval

The message will be issued after a valid password is entered. This prevents this feature from being used by malicious clients for account harvesting.

To enable the login delay capability, specify the minimum delay using `login-delay` configuration statement, e.g.:

    login-delay 60;

The `pop3d` utility keeps each user’s last login time in a special DBM file, called login statistics database, so to be able to use this feature, Mailutils must be compiled with DBM support. By default, the login statistics database is called `/var/run/pop3-login.db`. You can change its name using `stat-file` configuration statement:

    login-delay 60;
    stat-file /tmp/pop.login.db;

The login delay facility will be enabled only if `pop3d` is able to access the statistics database for both reading and writing. If it is not, it will report this using `syslog` and start up without login delay restrictions. A common error message looks like:

    Unable to open statistics db: Operation not permitted

You can check whether your `pop3d` uses login delays by connecting to it and issuing the ‘`CAPA`’ command. If login delays are in use, there response will contain the string ‘`LOGIN-DELAY n`’, where n is the actual login delay value.