<!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> <---> </tt> </td>
<td bgcolor="#f0f0ff" align="center"><a href="#lan-uucp">LAN to<br>
UUCP<br> Gateway</a></td>
<td> <tt> <--- </tt> UUCP <tt> ---> </tt> </td>
<td bgcolor="#f0f0ff" align="center"><a href="#internet-uucp">Internet<br>
to UUCP<br> Gateway</a></td>
<td> <tt> <---> </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>