Prev |  | Next

## 28. The lmtp transport

The lmtp transport runs the LMTP protocol (RFC 2033) over a pipe to a specified command or by interacting with a Unix domain socket. This transport is something of a cross between the pipe and smtp transports. Exim also has support for using LMTP over TCP/IP; this is implemented as an option for the smtp transport. Because LMTP is expected to be of minority interest, the default build-time configure in src/EDITME has it commented out. You need to ensure that

    TRANSPORT_LMTP=yes

is present in your Local/Makefile in order to have the lmtp transport included in the Exim binary. The private options of the lmtp transport are as follows:

batch_id | Use: lmtp | Type: string† | Default: unset

See the description of local delivery batching in chapter 25.

batch_max | Use: lmtp | Type: integer | Default: 1

This limits the number of addresses that can be handled in a single delivery. Most LMTP servers can handle several addresses at once, so it is normally a good idea to increase this value. See the description of local delivery batching in chapter 25.

command | Use: lmtp | Type: string† | Default: unset

This option must be set if socket is not set. The string is a command which is run in a separate process. It is split up into a command name and list of arguments, each of which is separately expanded (so expansion cannot change the number of arguments). The command is run directly, not via a shell. The message is passed to the new process using the standard input and output to operate the LMTP protocol.

ignore_quota | Use: lmtp | Type: boolean | Default: false

If this option is set true, the string `IGNOREQUOTA` is added to RCPT commands, provided that the LMTP server has advertised support for IGNOREQUOTA in its response to the LHLO command.

socket | Use: lmtp | Type: string† | Default: unset

This option must be set if command is not set. The result of expansion must be the name of a Unix domain socket. The transport connects to the socket and delivers the message to it using the LMTP protocol.

timeout | Use: lmtp | Type: time | Default: 5m

The transport is aborted if the created process or Unix domain socket does not respond to LMTP commands or message input within this timeout.

Here is an example of a typical LMTP transport:

    lmtp:
      driver = lmtp
      command = /some/local/lmtp/delivery/program
      batch_max = 20
      user = exim

This delivers up to 20 addresses at a time, in a mixture of domains if necessary, running as the user exim.

Prev |  | Next
| Home |