Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Postfix and UUCP </title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head>

<body>

<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix and UUCP </h1>

<hr>

<h2><a name="uucp-tcp">Using UUCP over TCP</a></h2>

<p> Despite a serious lack of sex-appeal, email via UUCP over TCP
is a practical option for sites without permanent Internet connections,
and for sites without a fixed IP address. For first-hand information,
see the following guides: </p>

<ul>

<li> Jim Seymour's guide for using UUCP over TCP at
<a href="http://jimsun.LinxNet.com/jdp/uucp_over_tcp/index.html">http://jimsun.LinxNet.com/jdp/uucp_over_tcp/index.html</a>,

<li> Craig Sanders's guide for SSL-encrypted UUCP over TCP
using stunnel at <a href="http://taz.net.au/postfix/uucp/">http://taz.net.au/postfix/uucp/</a>.

</ul>

Here's a graphical description of what this document is about:

<blockquote>

<table>

<tr> <td> Local network <tt> &lt;---&gt; </tt> </td>

<td bgcolor="#f0f0ff" align="center"><a href="#lan-uucp">LAN to<br>
UUCP<br> Gateway</a></td>

<td> <tt> &lt;--- </tt> UUCP <tt> ---&gt; </tt> </td>

<td bgcolor="#f0f0ff" align="center"><a href="#internet-uucp">Internet<br>
to UUCP<br> Gateway</a></td>

<td> <tt> &lt;---&gt; </tt>  Internet </td> </tr>

</table>

</blockquote>

<p> And here's the table of contents of this document: </p>

<ul>

<li><a href="#internet-uucp">Setting up a Postfix Internet to UUCP
gateway</a>

<li><a href="#lan-uucp">Setting up a Postfix LAN to UUCP
gateway</a>

</ul>

<h2><a name="internet-uucp">Setting up a Postfix Internet to UUCP
gateway</a></h2>

<p> Here is how to set up a machine that sits on the Internet and
that forwards mail to a LAN that is connected via UUCP. See
the <a href="#lan-uucp">LAN to UUCP gateway</a> section for
the other side of the story. </p>

<ul>

<li> <p> You need an <b>rmail</b> program that extracts the sender
address from mail that arrives via UUCP, and that feeds the mail
into the Postfix <b>sendmail</b> command.  Most UNIX systems come
with an <b>rmail</b> utility. If you're in a pinch, try the one
bundled with the Postfix source code in the <b>auxiliary/rmail</b>
directory. </p>

<li> <p> Define a <a href="pipe.8.html">pipe(8)</a> based mail delivery transport for delivery
via UUCP: </p>

<pre>
/etc/postfix/<a href="master.5.html">master.cf</a>:
    uucp      unix  -       n       n       -       -       pipe
      flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
</pre>

<p> This runs the <b>uux</b> command to place outgoing mail into
the UUCP queue after replacing $nexthop by the next-hop hostname
(the receiving UUCP host) and after replacing $recipient by the
recipients.  The <a href="pipe.8.html">pipe(8)</a> delivery agent executes the <b>uux</b>
command without assistance from the shell, so there are no problems
with shell meta characters in command-line parameters.  </p>

<li> <p> Specify that mail for <i>example.com</i>, should be
delivered via UUCP, to a host named <i>uucp-host</i>: </p>

<pre>
/etc/postfix/transport:
    example.com     uucp:uucp-host
    .example.com    uucp:uucp-host
</pre>

<p> See the <a href="transport.5.html">transport(5)</a> manual page for more details. </p>

<li> <p> Execute the command "<b>postmap /etc/postfix/transport</b>"
whenever you change the <b>transport</b> file. </p>

<li> <p> Enable <b>transport</b> table lookups: </p>

<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
</pre>

<p> Specify <b>dbm</b> instead of <b>hash</b> if your system uses
<b>dbm</b> files instead of <b>db</b> files. To find out what map
types Postfix supports, use the command "<b>postconf -m</b>". </p>

<li> <p> Add <i>example.com</i> to the list of domains that your site
is willing to relay mail for. </p>

<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#relay_domains">relay_domains</a> = example.com ...<i>other <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a></i>...
</pre>

<p> See the <a href="postconf.5.html#relay_domains">relay_domains</a> configuration parameter description for
details. </p>

<li> <p> Execute the command "<b>postfix reload</b>" to make the
changes effective. </p>

</ul>

<h2><a name="lan-uucp">Setting up a Postfix LAN to UUCP
gateway</a></h2>

<p> Here is how to relay mail from a LAN via UUCP to the
Internet. See the <a href="#internet-uucp">Internet to UUCP
gateway</a> section for the other side of the story. </p>

<ul>

<li> <p> You need an <b>rmail</b> program that extracts the sender
address from mail that arrives via UUCP, and that feeds the mail
into the Postfix <b>sendmail</b> command.  Most UNIX systems come
with an <b>rmail</b> utility. If you're in a pinch, try the one
bundled with the Postfix source code in the <b>auxiliary/rmail</b>
directory. </p>

<li> <p> Specify that all remote mail must be sent via the <b>uucp</b>
mail transport to your UUCP gateway host, say, <i>uucp-gateway</i>: </p>

<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#relayhost">relayhost</a> = uucp-gateway
    <a href="postconf.5.html#default_transport">default_transport</a> = uucp
</pre>

<p> Postfix 2.0 and later also allows the following more succinct form: </p>

<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#default_transport">default_transport</a> = uucp:uucp-gateway
</pre>

<li> <p> Define a <a href="pipe.8.html">pipe(8)</a> based message delivery transport for mail
delivery via UUCP: </p>

<pre>
/etc/postfix/<a href="master.5.html">master.cf</a>:
    uucp      unix  -       n       n       -       -       pipe
      flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
</pre>

<p> This runs the <b>uux</b> command to place outgoing mail into
the UUCP queue. It substitutes the next-hop hostname (<i>uucp-gateway</i>,
or whatever you specified) and the recipients before executing the
command.  The <b>uux</b> command is executed without assistance
from the shell, so there are no problems with shell meta characters.
</p>

<li> <p> Execute the command "<b>postfix reload</b>" to make the
changes effective. </p>

</ul>

</body>

</html>