<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style xmlns="" type="text/css"> div.added { background-color: #ffff99; } div.deleted { text-decoration: line-through; background-color: #FF7F7F; } div.changed { background-color: #99ff99; } div.off { } span.added { background-color: #ffff99; } span.deleted { text-decoration: line-through; background-color: #FF7F7F; } span.changed { background-color: #99ff99; } span.off { } pre.literallayout { background-color: #E8E8D0; padding-left: 0.5cm; padding-top: 5px; padding-bottom: 5px; } div[class=changed] pre.literallayout { background-color: #99ff99; padding-left: 0.5cm; padding-top: 5px; padding-bottom: 5px; } div.literallayout { background-color: #E8E8D0; padding-left: 0.5cm; padding-top: 5px; padding-bottom: 5px; } div[class=changed] div.literallayout { background-color: #99ff99; padding-left: 0.5cm; padding-top: 5px; padding-bottom: 5px; } </style><title>28. The lmtp transport</title><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="index.html" title="Specification of the Exim Mail Transfer Agent" /><link rel="up" href="index.html" title="Specification of the Exim Mail Transfer Agent" /><link rel="prev" href="ch27.html" title="27. The autoreply transport" /><link rel="next" href="ch29.html" title="29. The pipe transport" /></head><body><div class="navheader"> <table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch27.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch29.html">Next</a></td></tr></table></div> <div class="chapter" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title"><a href="index.html#toc0234" id="CHAPLMTP">28. The lmtp transport</a></h2></div></div> </div> <p> <a id="id597353" class="indexterm"></a> <a id="id597370" class="indexterm"></a> <a id="id597386" class="indexterm"></a> <a id="id597400" class="indexterm"></a> The <span><strong class="command">lmtp</strong></span> 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 <span><strong class="command">pipe</strong></span> and <span><strong class="command">smtp</strong></span> transports. Exim also has support for using LMTP over TCP/IP; this is implemented as an option for the <span><strong class="command">smtp</strong></span> transport. Because LMTP is expected to be of minority interest, the default build-time configure in <em class="filename">src/EDITME</em> has it commented out. You need to ensure that </p> <pre class="literallayout">TRANSPORT_LMTP=yes </pre><p> <a id="id597462" class="indexterm"></a> is present in your <em class="filename">Local/Makefile</em> in order to have the <span><strong class="command">lmtp</strong></span> transport included in the Exim binary. The private options of the <span><strong class="command">lmtp</strong></span> transport are as follows: </p> <p> <a id="id597504" class="indexterm"></a> </p> <div class="informaltable"> <table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="right" /></colgroup><tbody><tr><td align="left"><span><strong class="option">batch_id</strong></span></td><td align="center">Use: <span class="emphasis"><em>lmtp</em></span></td><td align="center">Type: <span class="emphasis"><em>string</em></span>†<span class="emphasis"><em></em></span></td><td align="right">Default: <span class="emphasis"><em>unset</em></span></td></tr></tbody></table></div> <p> See the description of local delivery batching in chapter <a href="ch25.html" title="25. Address batching in local transports">25</a>. </p> <p> <a id="id597598" class="indexterm"></a> </p> <div class="informaltable"> <table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="right" /></colgroup><tbody><tr><td align="left"><span><strong class="option">batch_max</strong></span></td><td align="center">Use: <span class="emphasis"><em>lmtp</em></span></td><td align="center">Type: <span class="emphasis"><em>integer</em></span></td><td align="right">Default: <span class="emphasis"><em>1</em></span></td></tr></tbody></table></div> <p> 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 <a href="ch25.html" title="25. Address batching in local transports">25</a>. </p> <p> <a id="id597693" class="indexterm"></a> </p> <div class="informaltable"> <table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="right" /></colgroup><tbody><tr><td align="left"><span><strong class="option">command</strong></span></td><td align="center">Use: <span class="emphasis"><em>lmtp</em></span></td><td align="center">Type: <span class="emphasis"><em>string</em></span>†<span class="emphasis"><em></em></span></td><td align="right">Default: <span class="emphasis"><em>unset</em></span></td></tr></tbody></table></div> <p> This option must be set if <span><strong class="option">socket</strong></span> 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. </p> <p> <a id="id597791" class="indexterm"></a> </p> <div class="informaltable"> <table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="right" /></colgroup><tbody><tr><td align="left"><span><strong class="option">ignore_quota</strong></span></td><td align="center">Use: <span class="emphasis"><em>lmtp</em></span></td><td align="center">Type: <span class="emphasis"><em>boolean</em></span></td><td align="right">Default: <span class="emphasis"><em>false</em></span></td></tr></tbody></table></div> <p> <a id="id597873" class="indexterm"></a> If this option is set true, the string <code class="literal">IGNOREQUOTA</code> is added to RCPT commands, provided that the LMTP server has advertised support for IGNOREQUOTA in its response to the LHLO command. </p> <p> <a id="id597900" class="indexterm"></a> </p> <div class="informaltable"> <table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="right" /></colgroup><tbody><tr><td align="left"><span><strong class="option">socket</strong></span></td><td align="center">Use: <span class="emphasis"><em>lmtp</em></span></td><td align="center">Type: <span class="emphasis"><em>string</em></span>†<span class="emphasis"><em></em></span></td><td align="right">Default: <span class="emphasis"><em>unset</em></span></td></tr></tbody></table></div> <p> This option must be set if <span><strong class="option">command</strong></span> 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. </p> <p> <a id="id597994" class="indexterm"></a> </p> <div class="informaltable"> <table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="right" /></colgroup><tbody><tr><td align="left"><span><strong class="option">timeout</strong></span></td><td align="center">Use: <span class="emphasis"><em>lmtp</em></span></td><td align="center">Type: <span class="emphasis"><em>time</em></span></td><td align="right">Default: <span class="emphasis"><em>5m</em></span></td></tr></tbody></table></div> <p> The transport is aborted if the created process or Unix domain socket does not respond to LMTP commands or message input within this timeout. <span xmlns="" class="changed"><span xmlns="http://www.w3.org/1999/xhtml">Delivery is deferred, and will be tried again later.</span></span> Here is an example of a typical LMTP transport: </p> <pre class="literallayout">lmtp: driver = lmtp command = /some/local/lmtp/delivery/program batch_max = 20 user = exim </pre><p> This delivers up to 20 addresses at a time, in a mixture of domains if necessary, running as the user <span class="emphasis"><em>exim</em></span>. </p> </div> <div class="navfooter"> <table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch27.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch29.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div> </body></html>