<!DOCTYPE html PUBLIC "XSLT-compat"> <html lang="en-GB"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../common.css"> <meta name="author" content="The Exim Project. <http://www.exim.org/>"> <meta name="copyright" content="Copyright ©2010 The Exim Project. All rights reserved"> <meta name="description" content="Exim is a message transfer agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet."> <meta name="keywords" content="exim,smtp,mta,email"> <meta name="robots" content="noodp,noydir,index,follow"> <meta name="viewport" content="width=device-width"> <title>28. The lmtp transport</title> <link rel="stylesheet" type="text/css" href="../../../../doc/chapter.css"> <link rel="canonical" href="http://www.exim.org/exim-html-current/doc/html/spec_html/ch28.html"> </head> <body> <h1 id="header"><a href="../../../..">Exim Internet Mailer</a></h1> <div id="outer"> <ul id="nav_flow" class="nav"> <li><a href="../../../../index.html">Home</a></li> <li><a href="../../../../mirrors.html">Download</a></li> <li><a href="../../../../docs.html">Documentation</a></li> <li><a href="../../../../maillist.html">Mailing Lists</a></li> <li><a href="http://wiki.exim.org/">Wiki</a></li> <li><a href="http://www.exim.org/bugzilla/">Bugs</a></li> <li><a href="../../../../credits.html">Credits</a></li> <li class="search"><form action="http://www.google.com/search" method="get"> <span class="search_field_container"><input type="search" name="q" placeholder="Search Docs" class="search_field"></span><input type="hidden" name="hl" value="en"><input type="hidden" name="ie" value="UTF-8"><input type="hidden" name="as_qdr" value="all"><input type="hidden" name="q" value="site:www.exim.org"><input type="hidden" name="q" value="inurl:exim-html-current"> </form></li> </ul> <div id="inner"><div id="content"> <a class="previous_page" href="ch27.html"><-previous</a><a class="next_page" href="ch29.html">next-></a><div id="chapter" class="chapter"> <h2 id="CHAPLMTP" class="">Chapter 28 - The lmtp transport</h2> <p> The <span class="docbook_command">lmtp</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 class="docbook_command">pipe</span> and <span class="docbook_command">smtp</span> transports. Exim also has support for using LMTP over TCP/IP; this is implemented as an option for the <span class="docbook_command">smtp</span> transport. Because LMTP is expected to be of minority interest, the default build-time configure in <span class="docbook_filename">src/EDITME</span> has it commented out. You need to ensure that </p> <div class="docbook_literallayout"><pre> TRANSPORT_LMTP=yes </pre></div> <p> is present in your <span class="docbook_filename">Local/Makefile</span> in order to have the <span class="docbook_command">lmtp</span> transport included in the Exim binary. The private options of the <span class="docbook_command">lmtp</span> transport are as follows: </p> <p> </p> <table> <tr> <td><span class="docbook_option">batch_id</span></td> <td>Use: <span class="docbook_emphasis">lmtp</span> </td> <td>Type: <span class="docbook_emphasis">string</span>†<span class="docbook_emphasis"></span> </td> <td>Default: <span class="docbook_emphasis">unset</span> </td> </tr> </table> <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> </p> <table> <tr> <td><span class="docbook_option">batch_max</span></td> <td>Use: <span class="docbook_emphasis">lmtp</span> </td> <td>Type: <span class="docbook_emphasis">integer</span> </td> <td>Default: <span class="docbook_emphasis">1</span> </td> </tr> </table> <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> </p> <table> <tr> <td><span class="docbook_option">command</span></td> <td>Use: <span class="docbook_emphasis">lmtp</span> </td> <td>Type: <span class="docbook_emphasis">string</span>†<span class="docbook_emphasis"></span> </td> <td>Default: <span class="docbook_emphasis">unset</span> </td> </tr> </table> <p> This option must be set if <span class="docbook_option">socket</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> </p> <table> <tr> <td><span class="docbook_option">ignore_quota</span></td> <td>Use: <span class="docbook_emphasis">lmtp</span> </td> <td>Type: <span class="docbook_emphasis">boolean</span> </td> <td>Default: <span class="docbook_emphasis">false</span> </td> </tr> </table> <p> If this option is set true, the string <code class="docbook_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> </p> <table> <tr> <td><span class="docbook_option">socket</span></td> <td>Use: <span class="docbook_emphasis">lmtp</span> </td> <td>Type: <span class="docbook_emphasis">string</span>†<span class="docbook_emphasis"></span> </td> <td>Default: <span class="docbook_emphasis">unset</span> </td> </tr> </table> <p> This option must be set if <span class="docbook_option">command</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> </p> <table> <tr> <td><span class="docbook_option">timeout</span></td> <td>Use: <span class="docbook_emphasis">lmtp</span> </td> <td>Type: <span class="docbook_emphasis">time</span> </td> <td>Default: <span class="docbook_emphasis">5m</span> </td> </tr> </table> <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. Delivery is deferred, and will be tried again later. Here is an example of a typical LMTP transport: </p> <div class="docbook_literallayout"><pre> lmtp: driver = lmtp command = /some/local/lmtp/delivery/program batch_max = 20 user = exim </pre></div> <p> This delivers up to 20 addresses at a time, in a mixture of domains if necessary, running as the user <span class="docbook_emphasis">exim</span>. </p> </div> <a class="previous_page" href="ch27.html"><-previous</a><a class="next_page" href="ch29.html">next-></a> </div></div> <iframe id="branding" name="branding" src="../../../../branding/branding.html" height="0" frameborder="no" scrolling="no"></iframe><div id="footer">Website design by <a href="https://secure.grepular.com/">Mike Cardwell</a>, of <a href="http://cardwellit.com/">Cardwell IT Ltd.</a> </div> <div class="left_bar"></div> <div class="right_bar"></div> <div id="toc"> <ul class="hidden"></ul> <img src="../../../../doc/contents.png" width="16" height="155"> </div> </div> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script><script type="text/javascript" src="../../../../common.js"></script><script type="text/javascript" src="../../../../doc/chapter.js"></script> </body> </html>