2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-29 13:18:12 +00:00

snapshot-20010610

This commit is contained in:
Wietse Venema 2001-06-10 00:00:00 -05:00 committed by Viktor Dukhovni
parent 268d990779
commit 14829b5994
57 changed files with 535 additions and 2292 deletions

View File

@ -49,7 +49,7 @@ content filtered.
/etc/postfix/master.cf:
filter unix - n n - - pipe
flags=R user=filter argv=/some/where/filter -f ${sender} -- ${recipient}
flags=Rq user=filter argv=/somewhere/filter -f ${sender} -- ${recipient}
The /some/where/filter program can be a simple shell script like this:

View File

@ -5221,3 +5221,43 @@ Apologies for any names omitted.
sending QUIT after process idle timeout while the LMTP
server had disconnected. Files: smtp/smtp_proto.c,
lmtp/lmtp_proto.c.
20010526
newaliases no longer complains when an empty list is
specified with the alias_database configuration parameter.
File: sendmail/sendmail.c.
20010529
Workaround: old PIX firewall code messes up when the final
".<CR><LF>" at the end of DATA spans a packet boundary.
When Postfix detects PIX SMTP fixup mode, Postfix flushes
the output buffers before sending the final ".<CR><LF>".
File: smtp/smtp_proto.c.
20010530
Portability: updated code for Mac OS X, accounting for the
post-Beta changes. Code by Joe Block, UCF School of
Optics/CREOL.
20010601
Safety: postdrop turns off interrupts when cleaning up
after interrupt. The additional safety does not hurt anyone.
File: src/postdrop/postdrop.c.
20010607
Safety: dropped the RFC 2821 compliant code that treats
552 RCPT TO replies as 452. It created more problems than
it solved. Files: smtp/smtp_proto.c, lmtp/lmtp_proto.c.
Logging: the SMTP server now logs a warning if RBL lookups
have problems other than "not found". file: smtpd/smtpd_check.c.
20010610
Feature: address quoting and case folding flags for the
pipe(8) mailer.

View File

@ -140,6 +140,13 @@ configuration directory other than /etc/postfix, use:
That's seven backslashes :-) But at least this works with sh and csh.
In order to build Postfix for very large applications, where you
expect to run more than 1000 delivery processes, you may need to
override the definition of the FD_SETSIZE macro to make select()
work correctly:
% make makefiles CCARGS=-FD_SETSIZE=2048
In any case, if the command
% make

View File

@ -1,3 +1,29 @@
Incompatible changes with snapshot-20010610
===========================================
The Postfix pipe delivery agent no longer automatically case-folds
the expansion of $user, $extension or $mailbox command-line macros.
Specify the 'u' flag to get the old behavior.
Major changes with snapshot-20010610
====================================
This release includes a workaround for a bug in old versions of
the CISCO PIX firewall software that caused mail to be resent
repeatedly to systems behind such a product.
The pipe mail delivery agent now supports proper quoting of white
space and other special characters in the expansions of the $sender
and $recipient command-line macros. This was necessary for correct
operation of the "simple" content filter, and is also recommended
for delivery via UUCP or BSMTP.
The pipe mail delivery agent now supports case folding the localpart
and/or domain part of expansions of the $nexthop, $recipient, $user,
$extension or $mailbox command-line macros. This is recommended
for mail delivery via UUCP. Bug: $nexthop is always case folded
because of problems in the queue manager code.
Incompatible changes with snapshot-20010525
===========================================

View File

@ -186,6 +186,16 @@ remote part of an email address).
foo.com username:password
bar.com username
Note: some SMTP servers support PLAIN or LOGIN authentication only.
By default, the Postfix SMTP client does not use authentication
methods that send plaintext passwords, and defers delivery with
the following error message: "Authentication failed: cannot SASL
authenticate to server". To enable plaintext authentication specify,
for example:
/etc/postfix/main.cf:
smtp_sasl_security_options =
The SASL client password file is opened before the SMTP server
enters the optional chroot jail, so you can keep the file in
/etc/postfix.

View File

@ -84,10 +84,10 @@ local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
uucp unix - n n - - pipe
flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=F. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

View File

@ -13,6 +13,8 @@ COMMANDS= mailq.1.html newaliases.1.html postalias.1.html postcat.1.html \
CONFIG = access.5.html aliases.5.html canonical.5.html relocated.5.html \
transport.5.html virtual.5.html pcre_table.5.html regexp_table.5.html
AWK = awk '{ print; if (NR == 1) print ".pl 9999" }'
update: $(DAEMONS) $(COMMANDS) $(CONFIG)
Makefile: Makefile.in
@ -27,95 +29,95 @@ clobber:
rm -f $(DAEMONS) $(COMMANDS) $(CONFIG)
bounce.8.html: ../src/bounce/bounce.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
defer.8.html: bounce.8.html
rm -f $@
ln -s $? $@
error.8.html: ../src/error/error.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
flush.8.html: ../src/flush/flush.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
cleanup.8.html: ../src/cleanup/cleanup.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
lmtp.8.html: ../src/lmtp/lmtp.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
local.8.html: ../src/local/local.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
master.8.html: ../src/master/master.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
nqmgr.8.html: ../src/nqmgr/qmgr.c
srctoman $? | sed -e 's/qmgr[^_]/n&/' \
-e 's/qmgr$$/n&/' \
-e 's/QMGR[^_]/N&/' | \
nroff -man | man2html | postlink >$@
$(AWK) | nroff -man | uniq | man2html | postlink >$@
pickup.8.html: ../src/pickup/pickup.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
pipe.8.html: ../src/pipe/pipe.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
qmgr.8.html: ../src/qmgr/qmgr.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
showq.8.html: ../src/showq/showq.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
spawn.8.html: ../src/spawn/spawn.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
smtp.8.html: ../src/smtp/smtp.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
smtpd.8.html: ../src/smtpd/smtpd.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
virtual.8.html: ../src/virtual/virtual.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
trivial-rewrite.8.html: ../src/trivial-rewrite/trivial-rewrite.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postalias.1.html: ../src/postalias/postalias.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postcat.1.html: ../src/postcat/postcat.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postconf.1.html: ../src/postconf/postconf.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postdrop.1.html: ../src/postdrop/postdrop.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postfix.1.html: ../src/postfix/postfix.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postkick.1.html: ../src/postkick/postkick.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postlock.1.html: ../src/postlock/postlock.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postlog.1.html: ../src/postlog/postlog.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postmap.1.html: ../src/postmap/postmap.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
postsuper.1.html: ../src/postsuper/postsuper.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
sendmail.1.html: ../src/sendmail/sendmail.c
srctoman $? | nroff -man | man2html | postlink >$@
srctoman $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
mailq.1.html: sendmail.1.html
rm -f $@
@ -126,25 +128,25 @@ newaliases.1.html: sendmail.1.html
ln -s $? $@
access.5.html: ../proto/access
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
aliases.5.html: ../proto/aliases
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
canonical.5.html: ../proto/canonical
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
pcre_table.5.html: ../proto/pcre_table
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
regexp_table.5.html: ../proto/regexp_table
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
relocated.5.html: ../proto/relocated
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
transport.5.html: ../proto/transport
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
virtual.5.html: ../proto/virtual
srctoman - $? | nroff -man | man2html | postlink >$@
srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
ACCESS(5) ACCESS(5)
<b>NAME</b>
access - format of Postfix access table
@ -59,18 +56,6 @@ ACCESS(5) ACCESS(5)
<i>domain.name</i>
Matches the <i>domain.name</i> itself and any subdomain
thereof, either in hostnames or in mail addresses.
1
ACCESS(5) ACCESS(5)
Top-level domains will never be matched.
<i>user</i>@ Matches all mail addresses with the specified user
@ -125,18 +110,6 @@ ACCESS(5) ACCESS(5)
<b>BUGS</b>
The table format does not understand quoting conventions.
2
ACCESS(5) ACCESS(5)
<b>SEE</b> <b>ALSO</b>
<a href="postmap.1.html">postmap(1)</a> create mapping table
<a href="smtpd.8.html">smtpd(8)</a> smtp server
@ -153,48 +126,6 @@ ACCESS(5) ACCESS(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
ALIASES(5) ALIASES(5)
<b>NAME</b>
aliases - format of the Postfix alias database
@ -59,18 +56,6 @@ ALIASES(5) ALIASES(5)
The <i>value</i> contains one or more of the following:
1
ALIASES(5) ALIASES(5)
<i>address</i>
Mail is forwarded to <i>address</i>, which is compatible
with the <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a> standard.
@ -124,19 +109,6 @@ ALIASES(5) ALIASES(5)
Restrict the usage of mail delivery to external
command.
2
ALIASES(5) ALIASES(5)
<b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b>
Restrict the usage of mail delivery to external
file.
@ -172,29 +144,6 @@ ALIASES(5) ALIASES(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
BOUNCE(8) BOUNCE(8)
<b>NAME</b>
bounce - Postfix message bounce or defer daemon
@ -59,18 +56,6 @@ BOUNCE(8) BOUNCE(8)
<b>bounce</b><i>_</i><b>notice</b><i>_</i><b>recipient</b>
The recipient of single bounce postmaster notices.
1
BOUNCE(8) BOUNCE(8)
<b>2bounce</b><i>_</i><b>notice</b><i>_</i><b>recipient</b>
The recipient of double bounce postmaster notices.
@ -105,30 +90,6 @@ BOUNCE(8) BOUNCE(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
CANONICAL(5) CANONICAL(5)
<b>NAME</b>
canonical - format of Postfix canonical table
@ -59,18 +56,6 @@ CANONICAL(5) CANONICAL(5)
Lines that begin with whitespace continue the pre-
vious line.
1
CANONICAL(5) CANONICAL(5)
<i>pattern</i> <i>result</i>
When <i>pattern</i> matches a mail address, replace it by
the corresponding <i>result</i>.
@ -125,18 +110,6 @@ CANONICAL(5) CANONICAL(5)
<i>foo</i>.
Patterns are applied in the order as specified in the
2
CANONICAL(5) CANONICAL(5)
table, until a pattern is found that matches the search
string.
@ -191,18 +164,6 @@ CANONICAL(5) CANONICAL(5)
<b>SEE</b> <b>ALSO</b>
<a href="cleanup.8.html">cleanup(8)</a> canonicalize and enqueue mail
3
CANONICAL(5) CANONICAL(5)
<a href="postmap.1.html">postmap(1)</a> create mapping table
<a href="virtual.5.html">virtual(5)</a> virtual domain mapping
<a href="pcre_table.5.html">pcre_table(5)</a> format of PCRE tables
@ -218,49 +179,6 @@ CANONICAL(5) CANONICAL(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
4
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
CLEANUP(8) CLEANUP(8)
<b>NAME</b>
cleanup - canonicalize and enqueue Postfix message
@ -59,18 +56,6 @@ CLEANUP(8) CLEANUP(8)
<b>STANDARDS</b>
<a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a> (ARPA Internet Text Messages)
1
CLEANUP(8) CLEANUP(8)
<b>DIAGNOSTICS</b>
Problems and transactions are logged to <b>syslogd</b>(8).
@ -125,18 +110,6 @@ CLEANUP(8) CLEANUP(8)
<b>sender</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
Address mapping lookup table for envelope and
2
CLEANUP(8) CLEANUP(8)
header sender addresses.
<b>masquerade</b><i>_</i><b>domains</b>
@ -185,16 +158,6 @@ CLEANUP(8) CLEANUP(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
ERROR(8) ERROR(8)
<b>NAME</b>
error - Postfix error mailer
@ -59,18 +56,6 @@ ERROR(8) ERROR(8)
mail to the postmaster with with the headers of the
bounced mail.
1
ERROR(8) ERROR(8)
<b>SEE</b> <b>ALSO</b>
<a href="bounce.8.html">bounce(8)</a> non-delivery status reports
<a href="master.8.html">master(8)</a> process manager
@ -87,48 +72,6 @@ ERROR(8) ERROR(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -153,6 +153,10 @@ distribution list</a>
<li><a href="#moby-linux">Running hundreds of Postfix processes on Linux</a>
<li><a href="#moby-sun">Running hundreds of Postfix processes on Solaris</a>
<li><a href="#moby-postfix">Running thousands of Postfix delivery agents</a>
</ul>
@ -308,6 +312,8 @@ mailbox</a>
<ul>
<li><a href="#uucp-tcp">Using UUCP over TCP</a>
<li><a href="#internet-uucp">Setting up an Internet to UUCP gateway</a>
<li><a href="#uucp-only">Using UUCP as the default transport</a>
@ -1192,6 +1198,42 @@ commands as <b>root</b>:
<hr>
<a name="moby-sun"><h3>Running hundreds of Postfix processes on Solaris</h3></a>
In order to run hundreds of processes you may have to adjust the
per-process open file limit. According to the <a
href="http://www.wins.uva.nl/pub/solaris/solaris2.html#q3.45">Solaris
FAQ</a>, add the following lines to /etc/system on Solaris 2.4 and later:
<p>
<blockquote>
<pre>
* set hard limit on file descriptors
set rlim_fd_max = 4096
* set soft limit on file descriptors
set rlim_fd_cur = 2048
</pre>
</blockquote>
<hr>
<a name="moby-postfix"><h3>Running thousands of Postfix delivery agents</h3></a>
In order to run Postfix with more than a thousand delivery agents you
need to recompile the software with an appropriate value of the
<b>FD_SETSIZE</b> constant.
<p>
<blockquote>
<pre>
% make tidy
% make makefiles "CCARGS=-DFD_SETSIZE=2048"
% make
</pre>
</blockquote>
<hr>
<a name="incoming"><h3>Mail stays queued in the incoming queue</h3></a>
<blockquote>
@ -2599,7 +2641,9 @@ that the mail was sent to.
Answer: I hope we all agree that delivering a domain to a mailbox
is disgusting practice. Forwarding mail via SMTP or UUCP would be
a much better choice. Unfortunately, neither SMTP nor UUCP are a
usable alternative for legions of windows users.
usable alternative for legions of windows users. However, if this
is an option for you see the <a href="#uucp-tcp">UUCP over TCP</a>
guide below.
<p>
@ -2784,6 +2828,28 @@ See examples in <b>master.cf</b>.
<hr>
<a name="uucp-tcp"><h3>Using UUCP over TCP</h3>
This subject comes up whenever someone asks about a "domain in
a mailbox" solution. For first-hand information, see the guides
listed below.
<ul>
<li>Jim Seymour's guide for using <a
href="http://jimsun.LinxNet.com/jdp/uucp_over_tcp/index.html"> UUCP
over TCP</a>.
<p>
<li>Craig Sanders's guide for using <a
href="http://taz.net.au/postfix/uucp/"> SSL-encrypted UUCP over
tcp using stunnel</a>.
</ul>
<hr>
<a name="internet-uucp"><h3>Setting up an Internet to UUCP gateway</h3> </a>
Here is how to set up a machine that sits on the Internet and that
@ -2889,7 +2955,7 @@ changes effective.
Here is how to relay all your mail over a UUCP link. See the <a
href="#internet-uucp">Internet to UUCP</a> FAQ entry for setting
up a machine that gateways between UUCP and SMTP.
up a machine that gateways between UUCP and SMTP.
<p>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
FLUSH(8) FLUSH(8)
<b>NAME</b>
flush - Postfix fast flush server
@ -60,17 +57,6 @@ FLUSH(8) FLUSH(8)
simulating send requests (see above) for the corre-
sponding destinations.
1
FLUSH(8) FLUSH(8)
Delete empty per-destination logfiles that were not
updated in <b>fast</b><i>_</i><b>flush</b><i>_</i><b>purge</b><i>_</i><b>time</b> days.
@ -125,18 +111,6 @@ FLUSH(8) FLUSH(8)
<b>FILES</b>
/var/spool/postfix/flush, location of "fast flush" logfiles.
2
FLUSH(8) FLUSH(8)
<b>CONFIGURATION</b> <b>PARAMETERS</b>
See the Postfix <b>main.cf</b> file for syntax details and for
default values. Use the <b>postfix</b> <b>reload</b> command after a
@ -172,29 +146,6 @@ FLUSH(8) FLUSH(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
LMTP(8) LMTP(8)
<b>NAME</b>
lmtp - Postfix local delivery via LMTP
@ -59,18 +56,6 @@ LMTP(8) LMTP(8)
<b>STANDARDS</b>
<a href="http://www.faqs.org/rfcs/rfc821.html">RFC 821</a> (SMTP protocol)
<a href="http://www.faqs.org/rfcs/rfc1651.html">RFC 1651</a> (SMTP service extensions)
1
LMTP(8) LMTP(8)
<a href="http://www.faqs.org/rfcs/rfc1870.html">RFC 1870</a> (Message Size Declaration)
<a href="http://www.faqs.org/rfcs/rfc2033.html">RFC 2033</a> (LMTP protocol)
<a href="http://www.faqs.org/rfcs/rfc2197.html">RFC 2197</a> (Pipelining)
@ -125,18 +110,6 @@ LMTP(8) LMTP(8)
<b>Authentication</b> <b>controls</b>
<b>lmtp</b><i>_</i><b>enable</b><i>_</i><b>sasl</b><i>_</i><b>auth</b>
Enable per-session authentication as per <a href="http://www.faqs.org/rfcs/rfc2554.html">RFC 2554</a>
2
LMTP(8) LMTP(8)
(SASL). By default, Postfix is built without SASL
support.
@ -191,18 +164,6 @@ LMTP(8) LMTP(8)
<i>transport_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b>
Limit the number of parallel deliveries to the same
3
LMTP(8) LMTP(8)
destination via this mail delivery transport.
<i>transport</i> is the name of the service as specified
in the <b>master.cf</b> file. The default limit is taken
@ -257,18 +218,6 @@ LMTP(8) LMTP(8)
Timeout for sending the <b>DATA</b> command, and for
receiving the server response.
4
LMTP(8) LMTP(8)
<b>lmtp</b><i>_</i><b>data</b><i>_</i><b>xfer</b><i>_</i><b>timeout</b>
Timeout for sending the message content.
@ -316,17 +265,6 @@ LMTP(8) LMTP(8)
P.O. Box 830688, MC34
Richardson, TX 75083, USA
5
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
LOCAL(8) LOCAL(8)
<b>NAME</b>
local - Postfix local mail delivery
@ -59,18 +56,6 @@ LOCAL(8) LOCAL(8)
When an address is found in its own alias expansion,
delivery is made to the user instead. When a user is
listed in the user's own ~/.<b>forward</b> file, delivery is made
1
LOCAL(8) LOCAL(8)
to the user's mailbox instead. An empty ~/.<b>forward</b> file
means do not forward mail.
@ -125,18 +110,6 @@ LOCAL(8) LOCAL(8)
In the case of UNIX-style mailbox delivery, the <b>local</b> dae-
mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to
2
LOCAL(8) LOCAL(8)
each message, prepends an optional <b>Delivered-To:</b> header
with the envelope recipient address, prepends a <b>Return-</b>
<b>Path:</b> header with the envelope sender address, prepends a
@ -192,17 +165,6 @@ LOCAL(8) LOCAL(8)
<b>LOCAL</b> The entire recipient address localpart (text to the
left of the rightmost @ character).
3
LOCAL(8) LOCAL(8)
<b>RECIPIENT</b>
The entire recipient address.
@ -257,18 +219,6 @@ LOCAL(8) LOCAL(8)
<b>DELIVERY</b> <b>RIGHTS</b>
Deliveries to external files and external commands are
4
LOCAL(8) LOCAL(8)
made with the rights of the receiving user on whose behalf
the delivery is made. In the absence of a user context,
the <b>local</b> daemon uses the owner rights of the <b>:include:</b>
@ -322,19 +272,6 @@ LOCAL(8) LOCAL(8)
List of names of environment parameters that can be
exported to non-Postfix processes.
5
LOCAL(8) LOCAL(8)
<b>forward</b><i>_</i><b>path</b>
Search list for .forward files. The names are sub-
ject to <i>$name</i> expansion.
@ -389,18 +326,6 @@ LOCAL(8) LOCAL(8)
External command to use for mailbox delivery. The
command executes with the recipient privileges
(exception: root). The string is subject to $name
6
LOCAL(8) LOCAL(8)
expansions.
<b>mailbox</b><i>_</i><b>transport</b>
@ -456,17 +381,6 @@ LOCAL(8) LOCAL(8)
that is written to upon delivery). Set to zero to
disable the limit.
7
LOCAL(8) LOCAL(8)
<b>Security</b> <b>controls</b>
<b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>commands</b>
Restrict the usage of mail delivery to external
@ -516,15 +430,6 @@ LOCAL(8) LOCAL(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
8
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
MASTER(8) MASTER(8)
<b>NAME</b>
master - Postfix master process
@ -59,18 +56,6 @@ MASTER(8) MASTER(8)
Signals:
<b>SIGHUP</b> Upon receipt of a <b>HUP</b> signal (e.g., after <b>postfix</b>
1
MASTER(8) MASTER(8)
<b>reload</b>), the master process re-reads its configura-
tion files. If a service has been removed from the
<b>master.cf</b> file, its running processes are termi-
@ -124,19 +109,6 @@ MASTER(8) MASTER(8)
<b>daemon</b><i>_</i><b>directory</b>
Directory with Postfix daemon programs.
2
MASTER(8) MASTER(8)
<b>queue</b><i>_</i><b>directory</b>
Top-level directory of the Postfix queue. This is
also the root directory of Postfix daemons that run
@ -179,22 +151,6 @@ MASTER(8) MASTER(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
NQMGR(8) NQMGR(8)
<b>NAME</b>
nqmgr - Postfix queue manager
@ -59,18 +56,6 @@ NQMGR(8) NQMGR(8)
<a href="bounce.8.html"><b>bounce</b>(8)</a> daemon.
<b>defer</b> Per-recipient status information about why mail is
1
NQMGR(8) NQMGR(8)
delayed. These files are maintained by the
<a href="defer.8.html"><b>defer</b>(8)</a> daemon.
@ -125,18 +110,6 @@ NQMGR(8) NQMGR(8)
of trigger events, or it waits for a timer to go off. A
trigger is a one-byte message. Depending on the message
received, the queue manager performs one of the following
2
NQMGR(8) NQMGR(8)
actions (the message is followed by the symbolic constant
used internally by the software):
@ -192,17 +165,6 @@ NQMGR(8) NQMGR(8)
the postmaster is notified of bounces and of other trou-
ble.
3
NQMGR(8) NQMGR(8)
<b>BUGS</b>
A single queue manager process has to compete for disk
access with multiple front-end processes such as <b>smtpd</b>. A
@ -256,19 +218,6 @@ NQMGR(8) NQMGR(8)
in-memory recipients that the preempting messages
can have.
4
NQMGR(8) NQMGR(8)
<i>transport_</i><b>extra</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
Limit on the number of in-memory recipients which
all preempting messages delivered by the transport
@ -322,19 +271,6 @@ NQMGR(8) NQMGR(8)
Limit on the number of recipients per message
transfer, for the named message <i>transport</i>.
5
NQMGR(8) NQMGR(8)
<b>Message</b> <b>scheduling</b>
<i>transport_</i><b>delivery</b><i>_</i><b>slot</b><i>_</i><b>cost</b> (valid range: 0,2,3...)
This parameter basically controls how often a mes-
@ -389,18 +325,6 @@ NQMGR(8) NQMGR(8)
<b>LICENSE</b>
The Secure Mailer license must be distributed with this
6
NQMGR(8) NQMGR(8)
software.
<b>AUTHOR(S)</b>
@ -414,51 +338,6 @@ NQMGR(8) NQMGR(8)
Modra 6
155 00, Prague, Czech Republic
7
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
PCRE_TABLE(5) PCRE_TABLE(5)
<b>NAME</b>
pcre_table - format of Postfix PCRE tables
@ -59,18 +56,6 @@ PCRE_TABLE(5) PCRE_TABLE(5)
table, until a pattern is found that matches the search
string.
1
PCRE_TABLE(5) PCRE_TABLE(5)
Substitution of substrings from the matched expression
into the result string is possible using the conventional
perl syntax ($1, $2, etc.). The macros in the result
@ -108,27 +93,6 @@ PCRE_TABLE(5) PCRE_TABLE(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
PICKUP(8) PICKUP(8)
<b>NAME</b>
pickup - Postfix local mail pickup
@ -60,17 +57,6 @@ PICKUP(8) PICKUP(8)
Address to send a copy of each message that enters
the system.
1
PICKUP(8) PICKUP(8)
<b>mail</b><i>_</i><b>owner</b>
The process privileges used while not opening a
<b>maildrop</b> file.
@ -93,42 +79,6 @@ PICKUP(8) PICKUP(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
PIPE(8) PIPE(8)
<b>NAME</b>
pipe - Postfix delivery to external command
@ -17,23 +14,28 @@ PIPE(8) PIPE(8)
program expects to be run from the <a href="master.8.html"><b>master</b>(8)</a> process man-
ager.
The <b>pipe</b> daemon updates queue files and marks recipients
Message attributes such as sender address, recipient
address and next-hop host name can be specified as com-
mand-line macros that are expanded before the external
command is executed.
The <b>pipe</b> daemon updates queue files and marks recipients
as finished, or it informs the queue manager that delivery
should be tried again at a later time. Delivery problem
reports are sent to the <a href="bounce.8.html"><b>bounce</b>(8)</a> or <a href="defer.8.html"><b>defer</b>(8)</a> daemon as
should be tried again at a later time. Delivery problem
reports are sent to the <a href="bounce.8.html"><b>bounce</b>(8)</a> or <a href="defer.8.html"><b>defer</b>(8)</a> daemon as
appropriate.
<b>SINGLE-RECIPIENT</b> <b>DELIVERY</b>
Some external commands cannot handle more than one recipi-
ent per delivery request. Examples of such transports are
ent per delivery request. Examples of such transports are
pagers, fax machines, and so on.
To prevent Postfix from sending multiple recipients per
To prevent Postfix from sending multiple recipients per
delivery request, specify
<i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> <b>=</b> <b>1</b>
in the Postfix <b>main.cf</b> file, where <i>transport</i> is the name
in the Postfix <b>main.cf</b> file, where <i>transport</i> is the name
in the first column of the Postfix <b>master.cf</b> entry for the
pipe-based delivery transport.
@ -42,38 +44,52 @@ PIPE(8) PIPE(8)
file at the end of a service definition. The syntax is as
follows:
<b>flags=BFR.</b>&gt; (optional)
Optional message processing flags. By default, a
<b>flags=BFRhqu.</b>&gt; (optional)
Optional message processing flags. By default, a
message is copied unchanged.
<b>B</b> Append a blank line at the end of each mes-
sage. This is required by some mail user
agents that recognize "<b>From</b> " lines only
<b>B</b> Append a blank line at the end of each mes-
sage. This is required by some mail user
agents that recognize "<b>From</b> " lines only
when preceded by a blank line.
<b>F</b> Prepend a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope
header to the message content. This is
<b>F</b> Prepend a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope
header to the message content. This is
expected by, for example, <b>UUCP</b> software.
<b>R</b> Prepend a <b>Return-Path:</b> message header with
<b>R</b> Prepend a <b>Return-Path:</b> message header with
the envelope sender address.
<b>.</b> Prepend <b>.</b> to lines starting with "<b>.</b>". This
<b>h</b> Fold the command-line <b>$recipient</b> domain name
and <b>$nexthop</b> host name to lower case. This
is recommended for delivery via <b>UUCP</b>.
<b>q</b> Quote white space and other special charac-
ters in the command-line <b>$sender</b> and <b>$recip-</b>
<b>ient</b> address localparts (text to the left of
the right-most <b>@</b> character), according to an
8-bit transparent version of <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a>. This
is recommended for delivery via <b>UUCP</b> or
<b>BSMTP</b>.
The result is compatible with the address
parsing of command-line recipients by the
Postfix <b>sendmail</b> mail submission command.
1
PIPE(8) PIPE(8)
The <b>q</b> flag affects only entire addresses,
not the partial address information from the
<b>$user</b>, <b>extension</b> or <b>mailbox</b> command-line
macros.
<b>u</b> Fold the command-line <b>$recipient</b> address
localpart (text to the left of the right-
most <b>@</b> character) to lower case. This is
recommended for delivery via <b>UUCP</b>.
<b>.</b> Prepend <b>.</b> to lines starting with "<b>.</b>". This
is needed by, for example, <b>BSMTP</b> software.
&gt; Prepend &gt; to lines starting with "<b>From</b> ".
&gt; Prepend &gt; to lines starting with "<b>From</b> ".
This is expected by, for example, <b>UUCP</b> soft-
ware.
@ -81,16 +97,16 @@ PIPE(8) PIPE(8)
<b>user</b>=<i>username</i>:<i>groupname</i>
The external command is executed with the rights of
the specified <i>username</i>. The software refuses to
execute commands with root privileges, or with the
privileges of the mail system owner. If <i>groupname</i>
is specified, the corresponding group ID is used
the specified <i>username</i>. The software refuses to
execute commands with root privileges, or with the
privileges of the mail system owner. If <i>groupname</i>
is specified, the corresponding group ID is used
instead of the group ID of <i>username</i>.
<b>eol=string</b> (default: <b>\n</b>)
The output record delimiter. Typically one would
use either <b>\r\n</b> or <b>\n</b>. The usual C-style backslash
escape sequences are recognized: <b>\a</b> <b>\b</b> <b>\f</b> <b>\n</b> <b>\r</b> <b>\t</b>
The output record delimiter. Typically one would
use either <b>\r\n</b> or <b>\n</b>. The usual C-style backslash
escape sequences are recognized: <b>\a</b> <b>\b</b> <b>\f</b> <b>\n</b> <b>\r</b> <b>\t</b>
<b>\v</b> <b>\</b><i>octal</i> and <b>\\</b>.
<b>size</b>=<i>size_limit</i> (optional)
@ -98,52 +114,49 @@ PIPE(8) PIPE(8)
will be bounced back to the sender.
<b>argv</b>=<i>command</i>... (required)
The command to be executed. This must be specified
The command to be executed. This must be specified
as the last command attribute. The command is exe-
cuted directly, i.e. without interpretation of
shell meta characters by a shell command inter-
shell meta characters by a shell command inter-
preter.
In the command argument vector, the following
macros are recognized and replaced with correspond-
ing information from the Postfix queue manager
ing information from the Postfix queue manager
delivery request:
<b>${extension</b>}
This macro expands to the extension part of
a recipient address. For example, with an
This macro expands to the extension part of
a recipient address. For example, with an
address <i>user+foo@domain</i> the extension is
<i>foo</i>.
A command-line argument that contains
<b>${extension</b>} expands into as many command-
A command-line argument that contains
<b>${extension</b>} expands into as many command-
line arguments as there are recipients.
This information is modified by the <b>u</b> flag
for case folding.
<b>${mailbox</b>}
This macro expands to the complete local
part of a recipient address. For example,
with an address <i>user+foo@domain</i> the mailbox
is <i>user+foo</i>.
2
PIPE(8) PIPE(8)
A command-line argument that contains
<b>${mailbox</b>} expands into as many command-line
arguments as there are recipients.
This information is modified by the <b>u</b> flag
for case folding.
<b>${nexthop</b>}
This macro expands to the next-hop hostname.
This information is modified by the <b>h</b> flag
for case folding.
<b>${recipient</b>}
This macro expands to the complete recipient
address.
@ -152,10 +165,16 @@ PIPE(8) PIPE(8)
<b>${recipient</b>} expands into as many command-
line arguments as there are recipients.
This information is modified by the <b>hqu</b>
flags for quoting and case folding.
<b>${sender</b>}
This macro expands to the envelope sender
This macro expands to the envelope sender
address.
This information is modified by the <b>q</b> flag
for quoting.
<b>${size</b>}
This macro expands to Postfix's idea of the
message size, which is an approximation of
@ -171,40 +190,31 @@ PIPE(8) PIPE(8)
<b>${user</b>} expands into as many command-line
arguments as there are recipients.
In addition to the form ${<i>name</i>}, the forms $<i>name</i> and
$(<i>name</i>) are also recognized. Specify <b>$$</b> where a single <b>$</b>
This information is modified by the <b>u</b> flag
for case folding.
In addition to the form ${<i>name</i>}, the forms $<i>name</i> and
$(<i>name</i>) are also recognized. Specify <b>$$</b> where a single <b>$</b>
is wanted.
<b>DIAGNOSTICS</b>
Command exit status codes are expected to follow the con-
Command exit status codes are expected to follow the con-
ventions defined in &lt;<b>sysexits.h</b>&gt;.
Problems and transactions are logged to <b>syslogd</b>(8). Cor-
rupted message files are marked so that the queue manager
Problems and transactions are logged to <b>syslogd</b>(8). Cor-
rupted message files are marked so that the queue manager
can move them to the <b>corrupt</b> queue for further inspection.
<b>SECURITY</b>
This program needs a dual personality 1) to access the
private Postfix queue and IPC mechanisms, and 2) to exe-
This program needs a dual personality 1) to access the
private Postfix queue and IPC mechanisms, and 2) to exe-
cute external commands as the specified user. It is there-
fore security sensitive.
<b>CONFIGURATION</b> <b>PARAMETERS</b>
The following <b>main.cf</b> parameters are especially relevant
3
PIPE(8) PIPE(8)
to this program. See the Postfix <b>main.cf</b> file for syntax
details and for default values. Use the <b>postfix</b> <b>reload</b>
The following <b>main.cf</b> parameters are especially relevant
to this program. See the Postfix <b>main.cf</b> file for syntax
details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change.
<b>Miscellaneous</b>
@ -213,32 +223,32 @@ PIPE(8) PIPE(8)
exported to non-Postfix processes.
<b>mail</b><i>_</i><b>owner</b>
The process privileges used while not running an
The process privileges used while not running an
external command.
<b>Resource</b> <b>controls</b>
In the text below, <i>transport</i> is the first field in a <b>mas-</b>
In the text below, <i>transport</i> is the first field in a <b>mas-</b>
<b>ter.cf</b> entry.
<i>transport_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b>
Limit the number of parallel deliveries to the same
destination, for delivery via the named <i>transport</i>.
The default limit is taken from the <b>default</b><i>_</i><b>desti-</b>
<b>nation</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> parameter. The limit is
destination, for delivery via the named <i>transport</i>.
The default limit is taken from the <b>default</b><i>_</i><b>desti-</b>
<b>nation</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> parameter. The limit is
enforced by the Postfix queue manager.
<i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
Limit the number of recipients per message deliv-
ery, for delivery via the named <i>transport</i>. The
default limit is taken from the <b>default</b><i>_</i><b>destina-</b>
<b>tion</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> parameter. The limit is
Limit the number of recipients per message deliv-
ery, for delivery via the named <i>transport</i>. The
default limit is taken from the <b>default</b><i>_</i><b>destina-</b>
<b>tion</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> parameter. The limit is
enforced by the Postfix queue manager.
<i>transport_</i><b>time</b><i>_</i><b>limit</b>
Limit the time for delivery to external command,
for delivery via the named <b>transport</b>. The default
limit is taken from the <b>command</b><i>_</i><b>time</b><i>_</i><b>limit</b> parame-
ter. The limit is enforced by the Postfix queue
Limit the time for delivery to external command,
for delivery via the named <b>transport</b>. The default
limit is taken from the <b>command</b><i>_</i><b>time</b><i>_</i><b>limit</b> parame-
ter. The limit is enforced by the Postfix queue
manager.
<b>SEE</b> <b>ALSO</b>
@ -248,7 +258,7 @@ PIPE(8) PIPE(8)
syslogd(8) system logging
<b>LICENSE</b>
The Secure Mailer license must be distributed with this
The Secure Mailer license must be distributed with this
software.
<b>AUTHOR(S)</b>
@ -257,10 +267,6 @@ PIPE(8) PIPE(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
4
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTALIAS(1) POSTALIAS(1)
<b>NAME</b>
postalias - Postfix alias database maintenance
@ -60,17 +57,6 @@ POSTALIAS(1) POSTALIAS(1)
The exit status is zero when the requested informa-
tion was found.
1
POSTALIAS(1) POSTALIAS(1)
If a key value of <b>-</b> is specified, the program reads
key values from the standard input stream and
prints one line of <i>key:</i> <i>value</i> output for each key
@ -124,20 +110,8 @@ POSTALIAS(1) POSTALIAS(1)
nates with non-zero exit status in case of failure.
<b>BUGS</b>
The "delete key" support is limited to one delete
2
POSTALIAS(1) POSTALIAS(1)
operation per command invocation.
The "delete key" support is limited to one delete opera-
tion per command invocation.
<b>ENVIRONMENT</b>
<b>MAIL</b><i>_</i><b>CONFIG</b>
@ -172,29 +146,6 @@ POSTALIAS(1) POSTALIAS(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTCAT(1) POSTCAT(1)
<b>NAME</b>
postcat - show Postfix queue file contents
@ -36,33 +33,6 @@ POSTCAT(1) POSTCAT(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTCONF(1) POSTCONF(1)
<b>NAME</b>
postconf - Postfix configuration utility
@ -59,76 +56,9 @@ POSTCONF(1) POSTCONF(1)
<b>AUTHOR(S)</b>
Wietse Venema
IBM T.J. Watson Research
1
POSTCONF(1) POSTCONF(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTDROP(1) POSTDROP(1)
<b>NAME</b>
postdrop - Postfix mail posting agent
@ -59,18 +56,6 @@ POSTDROP(1) POSTDROP(1)
<b>queue</b><i>_</i><b>directory</b>
Top-level directory of the Postfix queue. This is
1
POSTDROP(1) POSTDROP(1)
also the root directory of Postfix daemons that run
chrooted.
@ -88,47 +73,6 @@ POSTDROP(1) POSTDROP(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTFIX(1) POSTFIX(1)
<b>NAME</b>
postfix - Postfix control program
@ -59,18 +56,6 @@ POSTFIX(1) POSTFIX(1)
<b>-D</b> (with <b>postfix</b> <b>start</b> only)
Run each Postfix daemon under control of a debugger
as specified via the <b>debugger</b><i>_</i><b>command</b> configuration
1
POSTFIX(1) POSTFIX(1)
parameter.
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
@ -126,75 +111,12 @@ POSTFIX(1) POSTFIX(1)
The Secure Mailer license must be distributed with this
software.
2
POSTFIX(1) POSTFIX(1)
<b>AUTHOR(S)</b>
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTKICK(1) POSTKICK(1)
<b>NAME</b>
postkick - kick a Postfix service
@ -58,19 +55,6 @@ POSTKICK(1) POSTKICK(1)
to this program. See the Postfix <b>main.cf</b> file for syntax
details and for default values.
1
POSTKICK(1) POSTKICK(1)
<b>queue</b><i>_</i><b>directory</b>
Location of the Postfix queue, and of the local IPC
communication endpoints.
@ -89,46 +73,6 @@ POSTKICK(1) POSTKICK(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTLOCK(1) POSTLOCK(1)
<b>NAME</b>
postlock - lock mail folder and execute command
@ -58,19 +55,6 @@ POSTLOCK(1) POSTLOCK(1)
<b>MAIL</b><i>_</i><b>CONFIG</b>
Directory with Postfix configuration files.
1
POSTLOCK(1) POSTLOCK(1)
<b>MAIL</b><i>_</i><b>VERBOSE</b>
Enable verbose logging for debugging purposes.
@ -116,19 +100,6 @@ POSTLOCK(1) POSTLOCK(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTLOG(1) POSTLOG(1)
<b>NAME</b>
postlog - Postfix-compatible logging utility
@ -59,10 +56,6 @@ POSTLOG(1) POSTLOG(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTMAP(1) POSTMAP(1)
<b>NAME</b>
postmap - Postfix lookup table management
@ -59,18 +56,6 @@ POSTMAP(1) POSTMAP(1)
entry per map. The exit status is zero when the
requested information was found.
1
POSTMAP(1) POSTMAP(1)
If a key value of <b>-</b> is specified, the program reads
key values from the standard input stream. The exit
status is zero when at least one of the requested
@ -125,18 +110,6 @@ POSTMAP(1) POSTMAP(1)
<i>file_name</i><b>.db</b>. This is available only on
systems with support for <b>db</b> databases.
2
POSTMAP(1) POSTMAP(1)
When no <i>file_type</i> is specified, the software uses
the database type specified via the <b>database</b><i>_</i><b>type</b>
configuration parameter.
@ -181,20 +154,6 @@ POSTMAP(1) POSTMAP(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
POSTSUPER(1) POSTSUPER(1)
<b>NAME</b>
postsuper - Postfix superintendent
@ -59,18 +56,6 @@ POSTSUPER(1) POSTSUPER(1)
of the old message that it should have
deleted.
1
POSTSUPER(1) POSTSUPER(1)
<b>-p</b> Purge old temporary files that are left over after
system or software crashes.
@ -125,18 +110,6 @@ POSTSUPER(1) POSTSUPER(1)
<b>syslogd</b>.
<b>postsuper</b> reports the number of messages deleted with <b>-d</b>,
2
POSTSUPER(1) POSTSUPER(1)
the number of messages requeued with <b>-r</b>, and the number of
messages whose queue file name was fixed with <b>-s</b>. The
report is written to the standard error stream and to <b>sys-</b>
@ -163,38 +136,6 @@ POSTSUPER(1) POSTSUPER(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
QMGR(8) QMGR(8)
<b>NAME</b>
qmgr - Postfix queue manager
@ -59,18 +56,6 @@ QMGR(8) QMGR(8)
<a href="bounce.8.html"><b>bounce</b>(8)</a> daemon.
<b>defer</b> Per-recipient status information about why mail is
1
QMGR(8) QMGR(8)
delayed. These files are maintained by the
<a href="defer.8.html"><b>defer</b>(8)</a> daemon.
@ -125,18 +110,6 @@ QMGR(8) QMGR(8)
<b>D</b> <b>(QMGR</b><i>_</i><b>REQ</b><i>_</i><b>SCAN</b><i>_</i><b>DEFERRED)</b>
Start a deferred queue scan. If a deferred queue
scan is already in progress, that scan will be
2
QMGR(8) QMGR(8)
restarted as soon as it finishes.
<b>I</b> <b>(QMGR</b><i>_</i><b>REQ</b><i>_</i><b>SCAN</b><i>_</i><b>INCOMING)</b>
@ -191,18 +164,6 @@ QMGR(8) QMGR(8)
sudden burst of inbound mail can negatively impact out-
bound delivery rates.
3
QMGR(8) QMGR(8)
<b>CONFIGURATION</b> <b>PARAMETERS</b>
The following <b>main.cf</b> parameters are especially relevant
to this program. See the Postfix <b>main.cf</b> file for syntax
@ -256,19 +217,6 @@ QMGR(8) QMGR(8)
Time in seconds between attempts to contact a bro-
ken delivery transport.
4
QMGR(8) QMGR(8)
<b>Concurrency</b> <b>controls</b>
In the text below, <i>transport</i> is the first field in a <b>mas-</b>
<b>ter.cf</b> entry.
@ -323,18 +271,6 @@ QMGR(8) QMGR(8)
Limit on the number of recipients per message
transfer, for the named message <i>transport</i>.
5
QMGR(8) QMGR(8)
<b>SEE</b> <b>ALSO</b>
<a href="master.8.html">master(8)</a>, process manager
<a href="relocated.5.html">relocated(5)</a>, format of the "user has moved" table
@ -351,48 +287,6 @@ QMGR(8) QMGR(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
6
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
REGEXP_TABLE(5) REGEXP_TABLE(5)
<b>NAME</b>
regexp_table - format of Postfix regular expression tables
@ -59,18 +56,6 @@ REGEXP_TABLE(5) REGEXP_TABLE(5)
nor is <i>user+foo</i> broken up into <i>user</i> and <i>foo</i>.
Patterns are applied in the order as specified in the
1
REGEXP_TABLE(5) REGEXP_TABLE(5)
table, until a pattern is found that matches the search
string.
@ -112,23 +97,6 @@ REGEXP_TABLE(5) REGEXP_TABLE(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
RELOCATED(5) RELOCATED(5)
<b>NAME</b>
relocated - format of Postfix relocated table
@ -59,18 +56,6 @@ RELOCATED(5) RELOCATED(5)
<i>user</i> Matches <i>user</i>@<i>site</i> when <i>site</i> is $<b>myorigin</b>, when <i>site</i>
is listed in $<b>mydestination</b>, or when <i>site</i> is listed
1
RELOCATED(5) RELOCATED(5)
in $<b>inet</b><i>_</i><b>interfaces</b>.
@<i>domain</i>
@ -125,18 +110,6 @@ RELOCATED(5) RELOCATED(5)
List of domains that this mail system considers
local.
2
RELOCATED(5) RELOCATED(5)
<b>myorigin</b>
The domain that is appended to locally-posted mail.
@ -155,46 +128,6 @@ RELOCATED(5) RELOCATED(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
SENDMAIL(1) SENDMAIL(1)
<b>NAME</b>
sendmail - Postfix to Sendmail compatibility interface
@ -58,20 +55,8 @@ SENDMAIL(1) SENDMAIL(1)
These and other features can be selected by specifying the
appropriate combination of command-line options. Some fea-
tures are controlled by parameters in the <b>main.cf</b>
1
SENDMAIL(1) SENDMAIL(1)
configuration file.
tures are controlled by parameters in the <b>main.cf</b> configu-
ration file.
The following options are recognized:
@ -125,18 +110,6 @@ SENDMAIL(1) SENDMAIL(1)
dard output. This mode of operation is implemented
by running the <a href="smtpd.8.html"><b>smtpd</b>(8)</a> daemon.
2
SENDMAIL(1) SENDMAIL(1)
<b>-f</b> <i>sender</i>
Set the envelope sender address. This is the
address where delivery problems are sent to, unless
@ -190,19 +163,6 @@ SENDMAIL(1) SENDMAIL(1)
The interval between queue runs. Use the
<b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b> configuration parameter instead.
3
SENDMAIL(1) SENDMAIL(1)
<b>-qR</b><i>site</i>
Schedule immediate delivery of all mail that is
queued for the named <i>site</i>. Depending on the desti-
@ -257,18 +217,6 @@ SENDMAIL(1) SENDMAIL(1)
<b>alias</b><i>_</i><b>database</b>
Default alias database(s) for <b>newaliases</b>. The
4
SENDMAIL(1) SENDMAIL(1)
default value for this parameter is system-spe-
cific.
@ -323,18 +271,6 @@ SENDMAIL(1) SENDMAIL(1)
Directory with Postfix support commands (default:
<b>$program</b><i>_</i><b>directory</b>).
5
SENDMAIL(1) SENDMAIL(1)
<b>daemon</b><i>_</i><b>directory</b>
Directory with Postfix daemon programs (default:
<b>$program</b><i>_</i><b>directory</b>).
@ -370,29 +306,6 @@ SENDMAIL(1) SENDMAIL(1)
P.O. Box 704
Yorktown Heights, NY 10598, USA
6
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
SHOWQ(8) SHOWQ(8)
<b>NAME</b>
showq - list the Postfix mail queue
@ -54,15 +51,6 @@ SHOWQ(8) SHOWQ(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
SMTP(8) SMTP(8)
<b>NAME</b>
smtp - Postfix remote delivery via SMTP
@ -59,18 +56,6 @@ SMTP(8) SMTP(8)
Depending on the setting of the <b>notify</b><i>_</i><b>classes</b> parameter,
the postmaster is notified of bounces, protocol problems,
1
SMTP(8) SMTP(8)
and of other trouble.
<b>BUGS</b>
@ -126,17 +111,6 @@ SMTP(8) SMTP(8)
send mail to the postmaster with transcripts of
SMTP sessions with protocol errors.
2
SMTP(8) SMTP(8)
<b>smtp</b><i>_</i><b>always</b><i>_</i><b>send</b><i>_</i><b>ehlo</b>
Always send EHLO at the start of a connection.
@ -192,17 +166,6 @@ SMTP(8) SMTP(8)
destination. The default limit is taken from the
<b>default</b><i>_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> parameter.
3
SMTP(8) SMTP(8)
<b>smtp</b><i>_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
Limit the number of recipients per message deliv-
ery. The default limit is taken from the
@ -256,19 +219,6 @@ SMTP(8) SMTP(8)
Timeout for sending the <b>QUIT</b> command, and for
receiving the server response.
4
SMTP(8) SMTP(8)
<b>SEE</b> <b>ALSO</b>
<a href="bounce.8.html">bounce(8)</a> non-delivery status reports
<a href="master.8.html">master(8)</a> process manager
@ -285,48 +235,6 @@ SMTP(8) SMTP(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
5
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
SMTPD(8) SMTPD(8)
<b>NAME</b>
smtpd - Postfix SMTP server
@ -59,18 +56,6 @@ SMTPD(8) SMTPD(8)
details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change.
1
SMTPD(8) SMTPD(8)
<b>Compatibility</b> <b>controls</b>
<b>strict</b><i>_</i><b>rfc821</b><i>_</i><b>envelopes</b>
Disallow non-<a href="http://www.faqs.org/rfcs/rfc821.html">RFC 821</a> style addresses in envelopes.
@ -125,18 +110,6 @@ SMTPD(8) SMTPD(8)
<b>command</b><i>_</i><b>directory</b>
Location of Postfix support commands (default:
2
SMTPD(8) SMTPD(8)
<b>$program</b><i>_</i><b>directory</b>).
<b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b>
@ -191,18 +164,6 @@ SMTPD(8) SMTPD(8)
<b>soft</b><i>_</i><b>bounce</b>
Change hard (5xx) reject responses into soft (4xx)
reject responses. This can be useful for testing
3
SMTPD(8) SMTPD(8)
purposes.
<b>Resource</b> <b>controls</b>
@ -256,19 +217,6 @@ SMTPD(8) SMTPD(8)
Restrict what sender addresses are allowed in <b>MAIL</b>
<b>FROM</b> commands.
4
SMTPD(8) SMTPD(8)
<b>smtpd</b><i>_</i><b>recipient</b><i>_</i><b>restrictions</b>
Restrict what recipient addresses are allowed in
<b>RCPT</b> <b>TO</b> commands.
@ -322,19 +270,6 @@ SMTPD(8) SMTPD(8)
Server response when a client violates the
<b>reject</b><i>_</i><b>unknown</b><i>_</i><b>address</b> restriction.
5
SMTPD(8) SMTPD(8)
<b>unknown</b><i>_</i><b>client</b><i>_</i><b>reject</b><i>_</i><b>code</b>
Server response when a client without address to
name mapping violates the <b>reject</b><i>_</i><b>unknown</b><i>_</i><b>clients</b>
@ -359,40 +294,6 @@ SMTPD(8) SMTPD(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
6
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
SPAWN(8) SPAWN(8)
<b>NAME</b>
spawn - Postfix external command spawner
@ -59,18 +56,6 @@ SPAWN(8) SPAWN(8)
<b>SECURITY</b>
This program needs root privilege in order to execute
1
SPAWN(8) SPAWN(8)
external commands as the specified user. It is therefore
security sensitive. However the <b>spawn</b> daemon does not
talk to the external command and thus is not vulnerable to
@ -113,22 +98,6 @@ SPAWN(8) SPAWN(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
2
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
TRANSPORT(5) TRANSPORT(5)
<b>NAME</b>
transport - format of Postfix transport table
@ -60,17 +57,6 @@ TRANSPORT(5) TRANSPORT(5)
Mail for any subdomain of <i>domain</i> is delivered
through <i>transport</i> to <i>nexthop</i>.
1
TRANSPORT(5) TRANSPORT(5)
Note: transport map entries take precedence over domains
specified in the <b>mydestination</b> parameter. If you use the
optional transport map, it may be safer to specify
@ -125,18 +111,6 @@ TRANSPORT(5) TRANSPORT(5)
used. Specify [] around the hostname in order to disable
MX lookups.
2
TRANSPORT(5) TRANSPORT(5)
The error mailer can be used to bounce mail:
<b>.foo.org</b> <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b> <b>deliv-</b>
@ -192,75 +166,12 @@ TRANSPORT(5) TRANSPORT(5)
The Secure Mailer license must be distributed with this
software.
3
TRANSPORT(5) TRANSPORT(5)
<b>AUTHOR(S)</b>
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
4
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>NAME</b>
trivial-rewrite - Postfix address rewriting and resolving
daemon
@ -59,18 +56,6 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
users. It can run at a fixed low privilege in a chrooted
environment.
1
TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>DIAGNOSTICS</b>
Problems and transactions are logged to <b>syslogd</b>(8).
@ -125,18 +110,6 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
Syntax is <i>transport</i>:<i>nexthop</i>; see <a href="transport.5.html"><b>transport</b>(5)</a> for
details. The :<i>nexthop</i> part is optional.
2
TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>relayhost</b>
The default host to send non-local mail to when no
entry is matched in the <a href="transport.5.html"><b>transport</b>(5)</a> table.
@ -163,38 +136,6 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
P.O. Box 704
Yorktown Heights, NY 10598, USA
3
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
VIRTUAL(5) VIRTUAL(5)
<b>NAME</b>
virtual - format of Postfix virtual table
@ -58,20 +55,8 @@ VIRTUAL(5) VIRTUAL(5)
<i>user1@virtual.domain</i> <i>address1</i>
<i>user2@virtual.domain</i> <i>address2,</i> <i>address3</i>
The <i>virtual.domain</i> <i>anything</i> entry is required for a
1
VIRTUAL(5) VIRTUAL(5)
Postfix-style virtual domain.
The <i>virtual.domain</i> <i>anything</i> entry is required for a Post-
fix-style virtual domain.
Do not list a Postfix-style virtual domain in the <b>main.cf</b>
<b>mydestination</b> configuration parameter. Such an entry is
@ -124,20 +109,8 @@ VIRTUAL(5) VIRTUAL(5)
with `#'.
leading whitespace
Lines that begin with whitespace continue the
2
VIRTUAL(5) VIRTUAL(5)
previous line.
Lines that begin with whitespace continue the pre-
vious line.
<i>pattern</i> <i>result</i>
When <i>pattern</i> matches a mail address, replace it by
@ -191,18 +164,6 @@ VIRTUAL(5) VIRTUAL(5)
<i>foo</i>.
Patterns are applied in the order as specified in the
3
VIRTUAL(5) VIRTUAL(5)
table, until a pattern is found that matches the search
string.
@ -255,12 +216,6 @@ VIRTUAL(5) VIRTUAL(5)
P.O. Box 704
Yorktown Heights, NY 10598, USA
4
1
</pre> </body> </html>

View File

@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre>
VIRTUAL(8) VIRTUAL(8)
<b>NAME</b>
virtual - Postfix virtual domain mail delivery agent
@ -59,18 +56,6 @@ VIRTUAL(8) VIRTUAL(8)
The <b>virtual</b> delivery agent daemon prepends a <b>Delivered-To:</b>
message header with the envelope recipient address and
1
VIRTUAL(8) VIRTUAL(8)
prepends a <b>Return-Path:</b> message header with the envelope
sender address.
@ -125,18 +110,6 @@ VIRTUAL(8) VIRTUAL(8)
<b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>base</b>
Specifies a path that is prepended to all mailbox
or maildir paths. This is a safety measure to
2
VIRTUAL(8) VIRTUAL(8)
ensure that an out of control map in <b>virtual</b><i>_</i><b>mail-</b>
<b>box</b><i>_</i><b>maps</b> doesn't litter the filesystem with mail-
boxes. While it could be set to "/", this setting
@ -192,17 +165,6 @@ VIRTUAL(8) VIRTUAL(8)
to acquire an exclusive lock on a UNIX-style mail-
box file. The actual delay is slightly randomized.
3
VIRTUAL(8) VIRTUAL(8)
<b>stale</b><i>_</i><b>lock</b><i>_</i><b>time</b>
Limit the time after which a stale lockfile is
removed (applicable to UNIX-style mailboxes only).
@ -257,76 +219,9 @@ VIRTUAL(8) VIRTUAL(8)
Andrew McNamara
andrewm@connect.com.au
connect.com.au Pty. Ltd.
4
VIRTUAL(8) VIRTUAL(8)
Level 3, 213 Miller St
North Sydney 2060, NSW, Australia
5
1
</pre> </body> </html>

View File

@ -178,11 +178,11 @@ case "$SYSTEM.$RELEASE" in
# See where GDBM's ndbm.h include file sits.
if [ -f /usr/include/gdbm-ndbm.h ]
then
CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=\\\"<gdbm-ndbm.h>\\\""
CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H='<gdbm-ndbm.h>'"
GDBM_LIBS=gdbm
elif [ -f /usr/include/gdbm/ndbm.h ]
then
CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=\\\"<gdbm/ndbm.h>\\\""
CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H='<gdbm/ndbm.h>'"
GDBM_LIBS=gdbm
fi
SYSLIBS="-ldb"

View File

@ -17,6 +17,10 @@ manager to deliver messages to external commands.
This program expects to be run from the \fBmaster\fR(8) process
manager.
Message attributes such as sender address, recipient address and
next-hop host name can be specified as command-line macros that are
expanded before the external command is executed.
The \fBpipe\fR daemon updates queue files and marks recipients
as finished, or it informs the queue manager that delivery should
be tried again at a later time. Delivery problem reports are sent
@ -46,7 +50,7 @@ entry for the pipe-based delivery transport.
.fi
The external command attributes are given in the \fBmaster.cf\fR
file at the end of a service definition. The syntax is as follows:
.IP "\fBflags=BFR.>\fR (optional)"
.IP "\fBflags=BFRhqu.>\fR (optional)"
Optional message processing flags. By default, a message is
copied unchanged.
.RS
@ -61,6 +65,27 @@ This is expected by, for example, \fBUUCP\fR software.
.IP \fBR\fR
Prepend a \fBReturn-Path:\fR message header with the envelope sender
address.
.IP \fBh\fR
Fold the command-line \fB$recipient\fR domain name and \fB$nexthop\fR
host name to lower case.
This is recommended for delivery via \fBUUCP\fR.
.IP \fBq\fR
Quote white space and other special characters in the command-line
\fB$sender\fR and \fB$recipient\fR address localparts (text to the
left of the right-most \fB@\fR character), according to an 8-bit
transparent version of RFC 822.
This is recommended for delivery via \fBUUCP\fR or \fBBSMTP\fR.
.sp
The result is compatible with the address parsing of command-line
recipients by the Postfix \fBsendmail\fR mail submission command.
.sp
The \fBq\fR flag affects only entire addresses, not the partial
address information from the \fB$user\fR, \fBextension\fR or
\fBmailbox\fR command-line macros.
.IP \fBu\fR
Fold the command-line \fB$recipient\fR address localpart (text to
the left of the right-most \fB@\fR character) to lower case.
This is recommended for delivery via \fBUUCP\fR.
.IP \fB.\fR
Prepend \fB.\fR to lines starting with "\fB.\fR". This is needed
by, for example, \fBBSMTP\fR software.
@ -101,6 +126,8 @@ For example, with an address \fIuser+foo@domain\fR the extension is
.sp
A command-line argument that contains \fB${\fBextension\fR}\fR expands
into as many command-line arguments as there are recipients.
.sp
This information is modified by the \fBu\fR flag for case folding.
.IP \fB${\fBmailbox\fR}\fR
This macro expands to the complete local part of a recipient address.
For example, with an address \fIuser+foo@domain\fR the mailbox is
@ -108,15 +135,24 @@ For example, with an address \fIuser+foo@domain\fR the mailbox is
.sp
A command-line argument that contains \fB${\fBmailbox\fR}\fR
expands into as many command-line arguments as there are recipients.
.sp
This information is modified by the \fBu\fR flag for case folding.
.IP \fB${\fBnexthop\fR}\fR
This macro expands to the next-hop hostname.
.sp
This information is modified by the \fBh\fR flag for case folding.
.IP \fB${\fBrecipient\fR}\fR
This macro expands to the complete recipient address.
.sp
A command-line argument that contains \fB${\fBrecipient\fR}\fR
expands into as many command-line arguments as there are recipients.
.sp
This information is modified by the \fBhqu\fR flags for quoting
and case folding.
.IP \fB${\fBsender\fR}\fR
This macro expands to the envelope sender address.
.sp
This information is modified by the \fBq\fR flag for quoting.
.IP \fB${\fBsize\fR}\fR
This macro expands to Postfix's idea of the message size, which
is an approximation of the size of the message as delivered.
@ -127,6 +163,8 @@ part is \fIuser\fR.
.sp
A command-line argument that contains \fB${\fBuser\fR}\fR expands
into as many command-line arguments as there are recipients.
.sp
This information is modified by the \fBu\fR flag for case folding.
.RE
.PP
In addition to the form ${\fIname\fR}, the forms $\fIname\fR and

View File

@ -15,7 +15,7 @@
* Version of this program.
*/
#define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "Snapshot-20010525"
#define DEF_MAIL_VERSION "Snapshot-20010610"
extern char *var_mail_version;
/* LICENSE

View File

@ -492,10 +492,13 @@ static int lmtp_loop(LMTP_STATE *state, int send_state, int recv_state)
*
* XXX 2821: Section 4.5.3.1 says that a 552 RCPT TO reply
* must be treated as if the server replied with 452.
* However, this causes "too much mail data" to be
* treated as a recoverable error, which is wrong. I'll
* stick with RFC 821.
*/
case LMTP_STATE_RCPT:
if (!mail_from_rejected) {
#ifndef RFC821_SYNTAX
#ifndef notRFC821_SYNTAX
if (resp->code == 552)
resp->code = 452;
#endif

View File

@ -82,4 +82,5 @@ pipe.o: ../../include/mail_addr.h
pipe.o: ../../include/canon_addr.h
pipe.o: ../../include/split_addr.h
pipe.o: ../../include/off_cvt.h
pipe.o: ../../include/quote_822_local.h
pipe.o: ../../include/mail_server.h

View File

@ -11,6 +11,10 @@
/* This program expects to be run from the \fBmaster\fR(8) process
/* manager.
/*
/* Message attributes such as sender address, recipient address and
/* next-hop host name can be specified as command-line macros that are
/* expanded before the external command is executed.
/*
/* The \fBpipe\fR daemon updates queue files and marks recipients
/* as finished, or it informs the queue manager that delivery should
/* be tried again at a later time. Delivery problem reports are sent
@ -23,10 +27,10 @@
/* fax machines, and so on.
/*
/* To prevent Postfix from sending multiple recipients per delivery
/* request, specify
/* request, specify
/*
/* .ti +4
/* \fItransport\fB_destination_recipient_limit = 1\fR
/* \fItransport\fB_destination_recipient_limit = 1\fR
/*
/* in the Postfix \fBmain.cf\fR file, where \fItransport\fR
/* is the name in the first column of the Postfix \fBmaster.cf\fR
@ -36,7 +40,7 @@
/* .fi
/* The external command attributes are given in the \fBmaster.cf\fR
/* file at the end of a service definition. The syntax is as follows:
/* .IP "\fBflags=BFR.>\fR (optional)"
/* .IP "\fBflags=BFRhqu.>\fR (optional)"
/* Optional message processing flags. By default, a message is
/* copied unchanged.
/* .RS
@ -51,6 +55,27 @@
/* .IP \fBR\fR
/* Prepend a \fBReturn-Path:\fR message header with the envelope sender
/* address.
/* .IP \fBh\fR
/* Fold the command-line \fB$recipient\fR domain name and \fB$nexthop\fR
/* host name to lower case.
/* This is recommended for delivery via \fBUUCP\fR.
/* .IP \fBq\fR
/* Quote white space and other special characters in the command-line
/* \fB$sender\fR and \fB$recipient\fR address localparts (text to the
/* left of the right-most \fB@\fR character), according to an 8-bit
/* transparent version of RFC 822.
/* This is recommended for delivery via \fBUUCP\fR or \fBBSMTP\fR.
/* .sp
/* The result is compatible with the address parsing of command-line
/* recipients by the Postfix \fBsendmail\fR mail submission command.
/* .sp
/* The \fBq\fR flag affects only entire addresses, not the partial
/* address information from the \fB$user\fR, \fBextension\fR or
/* \fBmailbox\fR command-line macros.
/* .IP \fBu\fR
/* Fold the command-line \fB$recipient\fR address localpart (text to
/* the left of the right-most \fB@\fR character) to lower case.
/* This is recommended for delivery via \fBUUCP\fR.
/* .IP \fB.\fR
/* Prepend \fB.\fR to lines starting with "\fB.\fR". This is needed
/* by, for example, \fBBSMTP\fR software.
@ -91,6 +116,8 @@
/* .sp
/* A command-line argument that contains \fB${\fBextension\fR}\fR expands
/* into as many command-line arguments as there are recipients.
/* .sp
/* This information is modified by the \fBu\fR flag for case folding.
/* .IP \fB${\fBmailbox\fR}\fR
/* This macro expands to the complete local part of a recipient address.
/* For example, with an address \fIuser+foo@domain\fR the mailbox is
@ -98,15 +125,24 @@
/* .sp
/* A command-line argument that contains \fB${\fBmailbox\fR}\fR
/* expands into as many command-line arguments as there are recipients.
/* .sp
/* This information is modified by the \fBu\fR flag for case folding.
/* .IP \fB${\fBnexthop\fR}\fR
/* This macro expands to the next-hop hostname.
/* .sp
/* This information is modified by the \fBh\fR flag for case folding.
/* .IP \fB${\fBrecipient\fR}\fR
/* This macro expands to the complete recipient address.
/* .sp
/* A command-line argument that contains \fB${\fBrecipient\fR}\fR
/* expands into as many command-line arguments as there are recipients.
/* .sp
/* This information is modified by the \fBhqu\fR flags for quoting
/* and case folding.
/* .IP \fB${\fBsender\fR}\fR
/* This macro expands to the envelope sender address.
/* .sp
/* This information is modified by the \fBq\fR flag for quoting.
/* .IP \fB${\fBsize\fR}\fR
/* This macro expands to Postfix's idea of the message size, which
/* is an approximation of the size of the message as delivered.
@ -117,6 +153,8 @@
/* .sp
/* A command-line argument that contains \fB${\fBuser\fR}\fR expands
/* into as many command-line arguments as there are recipients.
/* .sp
/* This information is modified by the \fBu\fR flag for case folding.
/* .RE
/* .PP
/* In addition to the form ${\fIname\fR}, the forms $\fIname\fR and
@ -195,6 +233,7 @@
#include <pwd.h>
#include <grp.h>
#include <fcntl.h>
#include <ctype.h>
#ifdef STRCASECMP_IN_STRINGS_H
#include <strings.h>
@ -231,6 +270,7 @@
#include <canon_addr.h>
#include <split_addr.h>
#include <off_cvt.h>
#include <quote_822_local.h>
/* Single server skeleton. */
@ -261,6 +301,16 @@
#define PIPE_FLAG_MAILBOX (1<<3)
#define PIPE_FLAG_SIZE (1<<4)
/*
* Additional flags. These are colocated with mail_copy() flags. Allow some
* space for extension of the mail_copy() interface.
*/
#define PIPE_OPT_FOLD_USER (1<<16)
#define PIPE_OPT_FOLD_HOST (1<<17)
#define PIPE_OPT_QUOTE_LOCAL (1<<18)
#define PIPE_OPT_FOLD_FLAGS (PIPE_OPT_FOLD_USER | PIPE_OPT_FOLD_HOST)
/*
* Tunable parameters. Values are taken from the config file, after
* prepending the service name to _name, and so on.
@ -291,6 +341,11 @@ typedef struct {
off_t size_limit; /* max size in bytes we will accept */
} PIPE_ATTR;
/*
* Silly little macros.
*/
#define STR vstring_str
/* parse_callback - callback for mac_parse() */
static int parse_callback(int type, VSTRING *buf, char *context)
@ -313,9 +368,44 @@ static int parse_callback(int type, VSTRING *buf, char *context)
return (0);
}
/* morph_recipient - morph a recipient address */
static void morph_recipient(VSTRING *buf, const char *address, int flags)
{
char *cp;
/*
* Quote the recipient address as appropriate.
*/
if (flags & PIPE_OPT_QUOTE_LOCAL)
quote_822_local(buf, address);
else
vstring_strcpy(buf, address);
/*
* Fold the recipient address as appropriate.
*/
switch (flags & PIPE_OPT_FOLD_FLAGS) {
case PIPE_OPT_FOLD_HOST:
if ((cp = strrchr(STR(buf), '@')) != 0)
lowercase(cp + 1);
break;
case PIPE_OPT_FOLD_USER:
if ((cp = strrchr(STR(buf), '@')) != 0) {
*cp = 0;
lowercase(STR(buf));
*cp = '@';
break;
}
case PIPE_OPT_FOLD_USER | PIPE_OPT_FOLD_HOST:
lowercase(STR(buf));
break;
}
}
/* expand_argv - expand macros in the argument vector */
static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
{
VSTRING *buf = vstring_alloc(100);
ARGV *result;
@ -338,7 +428,6 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* would screw up mail addresses that contain $ characters.
*/
#define NO 0
#define STR vstring_str
result = argv_alloc(1);
for (cpp = argv; *cpp; cpp++) {
@ -353,8 +442,8 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* This argument contains $recipient.
*/
if (expand_flag & PIPE_FLAG_RCPT) {
dict_update(PIPE_DICT_TABLE, PIPE_DICT_RCPT,
rcpt_list->info[i].address);
morph_recipient(buf, rcpt_list->info[i].address, flags);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_RCPT, STR(buf));
}
/*
@ -370,7 +459,8 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* expansions of this specific command-line argument.
*/
if (expand_flag & PIPE_FLAG_USER) {
vstring_strcpy(buf, rcpt_list->info[i].address);
morph_recipient(buf, rcpt_list->info[i].address,
flags & PIPE_OPT_FOLD_FLAGS);
if (split_at_right(STR(buf), '@') == 0)
msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address);
@ -378,7 +468,6 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
split_addr(STR(buf), *var_rcpt_delim);
if (*STR(buf) == 0)
continue;
lowercase(STR(buf));
dict_update(PIPE_DICT_TABLE, PIPE_DICT_USER, STR(buf));
}
@ -388,15 +477,14 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* delimiter and the rightmost @. The extension may be blank.
*/
if (expand_flag & PIPE_FLAG_EXTENSION) {
vstring_strcpy(buf, rcpt_list->info[i].address);
morph_recipient(buf, rcpt_list->info[i].address,
flags & PIPE_OPT_FOLD_FLAGS);
if (split_at_right(STR(buf), '@') == 0)
msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address);
if (*var_rcpt_delim == 0
|| (ext = split_addr(STR(buf), *var_rcpt_delim)) == 0)
ext = ""; /* insert null arg */
else
lowercase(ext);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_EXTENSION, ext);
}
@ -405,11 +493,11 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* anything to the left of the rightmost @.
*/
if (expand_flag & PIPE_FLAG_MAILBOX) {
vstring_strcpy(buf, rcpt_list->info[i].address);
morph_recipient(buf, rcpt_list->info[i].address,
flags & PIPE_OPT_FOLD_FLAGS);
if (split_at_right(STR(buf), '@') == 0)
msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address);
lowercase(STR(buf));
dict_update(PIPE_DICT_TABLE, PIPE_DICT_MAILBOX, STR(buf));
}
@ -492,6 +580,15 @@ static void get_service_attr(PIPE_ATTR *attr, char **argv)
case 'R':
attr->flags |= MAIL_COPY_RETURN_PATH;
break;
case 'h':
attr->flags |= PIPE_OPT_FOLD_HOST;
break;
case 'q':
attr->flags |= PIPE_OPT_QUOTE_LOCAL;
break;
case 'u':
attr->flags |= PIPE_OPT_FOLD_USER;
break;
default:
msg_fatal("unknown flag: %c (ignored)", *cp);
break;
@ -704,13 +801,22 @@ static int deliver_message(DELIVER_REQUEST *request, char *service, char **argv)
if (vstream_fseek(request->fp, request->data_offset, SEEK_SET) < 0)
msg_fatal("seek queue file %s: %m", VSTREAM_PATH(request->fp));
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SENDER, request->sender);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_NEXTHOP, request->nexthop);
buf = vstring_alloc(10);
if (attr.flags & PIPE_OPT_QUOTE_LOCAL) {
quote_822_local(buf, request->sender);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SENDER, STR(buf));
} else
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SENDER, request->sender);
if (attr.flags & PIPE_OPT_FOLD_HOST) {
vstring_strcpy(buf, request->nexthop);
lowercase(STR(buf));
dict_update(PIPE_DICT_TABLE, PIPE_DICT_NEXTHOP, STR(buf));
} else
dict_update(PIPE_DICT_TABLE, PIPE_DICT_NEXTHOP, request->nexthop);
vstring_sprintf(buf, "%ld", (long) request->data_size);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SIZE, STR(buf));
vstring_free(buf);
expanded_argv = expand_argv(attr.command, rcpt_list);
expanded_argv = expand_argv(attr.command, rcpt_list, attr.flags);
export_env = argv_split(var_export_environ, ", \t\r\n");
command_status = pipe_command(request->fp, why,

View File

@ -137,6 +137,10 @@ static void postdrop_cleanup(void)
static void postdrop_sig(int sig)
{
signal(SIGHUP, SIG_IGN);
signal(SIGINT, SIG_IGN);
signal(SIGQUIT, SIG_IGN);
signal(SIGTERM, SIG_IGN);
postdrop_cleanup();
exit(sig);
}

View File

@ -67,6 +67,7 @@ postsuper.o: ../../include/safe.h
postsuper.o: ../../include/set_ugid.h
postsuper.o: ../../include/argv.h
postsuper.o: ../../include/vstring_vstream.h
postsuper.o: ../../include/sane_fsops.h
postsuper.o: ../../include/mail_task.h
postsuper.o: ../../include/mail_conf.h
postsuper.o: ../../include/mail_params.h

View File

@ -948,6 +948,8 @@ int main(int argc, char **argv)
case SM_MODE_NEWALIAS:
if (argv[OPTIND])
msg_fatal("alias initialization mode requires no recipient");
if (*var_alias_db_map == 0)
return (0);
ext_argv = argv_alloc(2);
argv_add(ext_argv, "postalias", (char *) 0);
for (n = 0; n < msg_verbose; n++)

View File

@ -60,6 +60,7 @@ typedef struct SMTP_STATE {
#define SMTP_FEATURE_SIZE (1<<3)
#define SMTP_FEATURE_STARTTLS (1<<4)
#define SMTP_FEATURE_AUTH (1<<5)
#define SMTP_FEATURE_MAYBEPIX (1<<6) /* PIX smtp fixup mode */
/*
* smtp.c

View File

@ -173,6 +173,14 @@ int smtp_helo(SMTP_STATE *state)
"host %s refused to talk to me: %s",
session->namaddr, translit(resp->str, "\n", " ")));
/*
* XXX Some PIX firewall versions require flush before ".<CR><LF>" so it
* does not span a packet boundary. This hurts performance so it is not
* on by default.
*/
if (resp->str[strspn(resp->str, "20 *\t\n")] == 0)
state->features |= SMTP_FEATURE_MAYBEPIX;
/*
* See if we are talking to ourself. This should not be possible with the
* way we implement DNS lookups. However, people are known to sometimes
@ -491,10 +499,13 @@ int smtp_xfer(SMTP_STATE *state)
*
* XXX 2821: Section 4.5.3.1 says that a 552 RCPT TO reply
* must be treated as if the server replied with 452.
* However, this causes "too much mail data" to be
* treated as a recoverable error, which is wrong. I'll
* stick with RFC 821.
*/
case SMTP_STATE_RCPT:
if (!mail_from_rejected) {
#ifndef RFC821_SYNTAX
#ifndef notRFC821_SYNTAX
if (resp->code == 552)
resp->code = 452;
#endif
@ -644,6 +655,9 @@ int smtp_xfer(SMTP_STATE *state)
if (prev_type == REC_TYPE_CONT) /* missing newline at end */
smtp_fputs("", 0, session->stream);
if ((state->features & SMTP_FEATURE_ESMTP) == 0
&& (state->features & SMTP_FEATURE_MAYBEPIX) != 0)
vstream_fflush(session->stream);/* hurts performance */
if (vstream_ferror(state->src))
msg_fatal("queue file read error");
if (rec_type != REC_TYPE_XTRA)

View File

@ -891,6 +891,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
"\tby %s (%s) with %s id %s",
var_myhostname, var_mail_name,
state->protocol, state->queue_id);
/* XXX Should RFC 822 externalize recipient address */
rec_fprintf(state->cleanup, REC_TYPE_NORM,
"\tfor <%s>; %s", state->recipient, mail_date(state->time));
} else {
@ -901,6 +902,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
"\tid %s; %s", state->queue_id, mail_date(state->time));
}
#ifdef RECEIVED_ENVELOPE_FROM
/* XXX Should RFC 822 externalize sender address */
rec_fprintf(state->cleanup, REC_TYPE_NORM,
"\t(envelope-from %s)", state->sender);
#endif

View File

@ -1506,6 +1506,7 @@ static int reject_maps_rbl(SMTPD_STATE *state)
int dns_status = DNS_FAIL;
int i;
int result;
VSTRING *why;
if (msg_verbose)
msg_info("%s: %s", myname, state->addr);
@ -1531,14 +1532,18 @@ static int reject_maps_rbl(SMTPD_STATE *state)
* Tack on each RBL domain name and query the DNS for an A record. If the
* record exists, the client address is blacklisted.
*/
why = vstring_alloc(10);
while ((rbl_domain = mystrtok(&bp, " \t\r\n,")) != 0) {
vstring_truncate(query, reverse_len);
vstring_strcat(query, rbl_domain);
dns_status = dns_lookup(STR(query), T_A, 0, (DNS_RR **) 0,
(VSTRING *) 0, (VSTRING *) 0);
(VSTRING *) 0, why);
if (dns_status == DNS_OK)
break;
if (dns_status != DNS_NOTFOUND)
msg_warn("%s: RBL lookup error: %s", STR(query), STR(why));
}
vstring_free(why);
/*
* Report the result.