<!
doctype html public
"-//W3C//DTD HTML 4.01 Transitional//EN"
"https://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">
<
link rel=
'stylesheet' type=
'text/css' href=
'postfix-doc.css'>
</
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
https://jimsun.LinxNet.com/jdp/uucp_over_tcp/index.html,
<
li> Craig Sanders
's guide for SSL-encrypted UUCP over TCP
using stunnel at
http://taz.net.au/postfix/uucp/.
</
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 pipe(
8) 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 pipe(
8) 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> Enable <
b>transport</
b>
table lookups: </
p>
<
pre>
/etc/postfix/main.cf:
transport_maps = lmdb:/etc/postfix/transport
</
pre>
<
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> Instead of lmdb:, some systems use cdb:, hash:, or dbm:. </
p>
<
p> See the transport(
5) 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, to (re)build
a
default-type indexed file. Execute
"<b>postmap
<
i>type</
i>:/etc/postfix/transport</
b>
" to specify an explicit type.
</
p>
<
p> The default indexed file type is configured with the
default_database_type parameter. To list available explicit types,
execute 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:
relay_domains = example.com ...<
i>other relay domains</
i>...
</
pre>
<
p> See the relay_domains 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:
relayhost = uucp-gateway
default_transport = uucp
</
pre>
<
p> Postfix
2.
0 and later also allows the following more succinct
form: </
p>
<
pre>
/etc/postfix/main.cf:
default_transport = uucp:uucp-gateway
</
pre>
<
li> <
p> Define
a pipe(
8) 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>