<!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=us-ascii"> </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/master.cf: 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/main.cf: <a href="postconf.5.html#transport_maps">transport_maps</a> = hash:/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/main.cf: <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/main.cf: <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/main.cf: <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/master.cf: 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>