2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-30 13:48:06 +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: /etc/postfix/master.cf:
filter unix - n n - - pipe 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: 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 sending QUIT after process idle timeout while the LMTP
server had disconnected. Files: smtp/smtp_proto.c, server had disconnected. Files: smtp/smtp_proto.c,
lmtp/lmtp_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. 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 In any case, if the command
% make % 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 Incompatible changes with snapshot-20010525
=========================================== ===========================================

View File

@@ -186,6 +186,16 @@ remote part of an email address).
foo.com username:password foo.com username:password
bar.com username 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 The SASL client password file is opened before the SMTP server
enters the optional chroot jail, so you can keep the file in enters the optional chroot jail, so you can keep the file in
/etc/postfix. /etc/postfix.

View File

@@ -84,10 +84,10 @@ local unix - n n - - local
virtual unix - n n - - virtual virtual unix - n n - - virtual
lmtp unix - - n - - lmtp lmtp unix - - n - - lmtp
cyrus unix - n n - - pipe 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 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 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 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 \ 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 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) update: $(DAEMONS) $(COMMANDS) $(CONFIG)
Makefile: Makefile.in Makefile: Makefile.in
@@ -27,95 +29,95 @@ clobber:
rm -f $(DAEMONS) $(COMMANDS) $(CONFIG) rm -f $(DAEMONS) $(COMMANDS) $(CONFIG)
bounce.8.html: ../src/bounce/bounce.c 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 defer.8.html: bounce.8.html
rm -f $@ rm -f $@
ln -s $? $@ ln -s $? $@
error.8.html: ../src/error/error.c 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 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 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 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 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 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 nqmgr.8.html: ../src/nqmgr/qmgr.c
srctoman $? | sed -e 's/qmgr[^_]/n&/' \ srctoman $? | sed -e 's/qmgr[^_]/n&/' \
-e 's/qmgr$$/n&/' \ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 mailq.1.html: sendmail.1.html
rm -f $@ rm -f $@
@@ -126,25 +128,25 @@ newaliases.1.html: sendmail.1.html
ln -s $? $@ ln -s $? $@
access.5.html: ../proto/access access.5.html: ../proto/access
srctoman - $? | nroff -man | man2html | postlink >$@ srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
aliases.5.html: ../proto/aliases aliases.5.html: ../proto/aliases
srctoman - $? | nroff -man | man2html | postlink >$@ srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
canonical.5.html: ../proto/canonical canonical.5.html: ../proto/canonical
srctoman - $? | nroff -man | man2html | postlink >$@ srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
pcre_table.5.html: ../proto/pcre_table 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 regexp_table.5.html: ../proto/regexp_table
srctoman - $? | nroff -man | man2html | postlink >$@ srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
relocated.5.html: ../proto/relocated relocated.5.html: ../proto/relocated
srctoman - $? | nroff -man | man2html | postlink >$@ srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
transport.5.html: ../proto/transport transport.5.html: ../proto/transport
srctoman - $? | nroff -man | man2html | postlink >$@ srctoman - $? | $(AWK) | nroff -man | uniq | man2html | postlink >$@
virtual.5.html: ../proto/virtual 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> <html> <head> </head> <body> <pre>
ACCESS(5) ACCESS(5) ACCESS(5) ACCESS(5)
<b>NAME</b> <b>NAME</b>
access - format of Postfix access table access - format of Postfix access table
@@ -59,18 +56,6 @@ ACCESS(5) ACCESS(5)
<i>domain.name</i> <i>domain.name</i>
Matches the <i>domain.name</i> itself and any subdomain Matches the <i>domain.name</i> itself and any subdomain
thereof, either in hostnames or in mail addresses. thereof, either in hostnames or in mail addresses.
1
ACCESS(5) ACCESS(5)
Top-level domains will never be matched. Top-level domains will never be matched.
<i>user</i>@ Matches all mail addresses with the specified user <i>user</i>@ Matches all mail addresses with the specified user
@@ -125,18 +110,6 @@ ACCESS(5) ACCESS(5)
<b>BUGS</b> <b>BUGS</b>
The table format does not understand quoting conventions. The table format does not understand quoting conventions.
2
ACCESS(5) ACCESS(5)
<b>SEE</b> <b>ALSO</b> <b>SEE</b> <b>ALSO</b>
<a href="postmap.1.html">postmap(1)</a> create mapping table <a href="postmap.1.html">postmap(1)</a> create mapping table
<a href="smtpd.8.html">smtpd(8)</a> smtp server <a href="smtpd.8.html">smtpd(8)</a> smtp server
@@ -153,48 +126,6 @@ ACCESS(5) ACCESS(5)
P.O. Box 704 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
3
</pre> </body> </html> </pre> </body> </html>

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
ALIASES(5) ALIASES(5) ALIASES(5) ALIASES(5)
<b>NAME</b> <b>NAME</b>
aliases - format of the Postfix alias database 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: The <i>value</i> contains one or more of the following:
1
ALIASES(5) ALIASES(5)
<i>address</i> <i>address</i>
Mail is forwarded to <i>address</i>, which is compatible 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. 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 Restrict the usage of mail delivery to external
command. command.
2
ALIASES(5) ALIASES(5)
<b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> <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 Restrict the usage of mail delivery to external
file. file.
@@ -172,29 +144,6 @@ ALIASES(5) ALIASES(5)
P.O. Box 704 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
3
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
ERROR(8) ERROR(8) ERROR(8) ERROR(8)
<b>NAME</b> <b>NAME</b>
error - Postfix error mailer error - Postfix error mailer
@@ -59,18 +56,6 @@ ERROR(8) ERROR(8)
mail to the postmaster with with the headers of the mail to the postmaster with with the headers of the
bounced mail. bounced mail.
1
ERROR(8) ERROR(8)
<b>SEE</b> <b>ALSO</b> <b>SEE</b> <b>ALSO</b>
<a href="bounce.8.html">bounce(8)</a> non-delivery status reports <a href="bounce.8.html">bounce(8)</a> non-delivery status reports
<a href="master.8.html">master(8)</a> process manager <a href="master.8.html">master(8)</a> process manager
@@ -87,48 +72,6 @@ ERROR(8) ERROR(8)
P.O. Box 704 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
2
</pre> </body> </html> </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-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> </ul>
@@ -308,6 +312,8 @@ mailbox</a>
<ul> <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="#internet-uucp">Setting up an Internet to UUCP gateway</a>
<li><a href="#uucp-only">Using UUCP as the default transport</a> <li><a href="#uucp-only">Using UUCP as the default transport</a>
@@ -1192,6 +1198,42 @@ commands as <b>root</b>:
<hr> <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> <a name="incoming"><h3>Mail stays queued in the incoming queue</h3></a>
<blockquote> <blockquote>
@@ -2599,7 +2641,9 @@ that the mail was sent to.
Answer: I hope we all agree that delivering a domain to a mailbox Answer: I hope we all agree that delivering a domain to a mailbox
is disgusting practice. Forwarding mail via SMTP or UUCP would be is disgusting practice. Forwarding mail via SMTP or UUCP would be
a much better choice. Unfortunately, neither SMTP nor UUCP are a 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> <p>
@@ -2784,6 +2828,28 @@ See examples in <b>master.cf</b>.
<hr> <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> <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 Here is how to set up a machine that sits on the Internet and that

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
FLUSH(8) FLUSH(8) FLUSH(8) FLUSH(8)
<b>NAME</b> <b>NAME</b>
flush - Postfix fast flush server flush - Postfix fast flush server
@@ -60,17 +57,6 @@ FLUSH(8) FLUSH(8)
simulating send requests (see above) for the corre- simulating send requests (see above) for the corre-
sponding destinations. sponding destinations.
1
FLUSH(8) FLUSH(8)
Delete empty per-destination logfiles that were not 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. 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> <b>FILES</b>
/var/spool/postfix/flush, location of "fast flush" logfiles. /var/spool/postfix/flush, location of "fast flush" logfiles.
2
FLUSH(8) FLUSH(8)
<b>CONFIGURATION</b> <b>PARAMETERS</b> <b>CONFIGURATION</b> <b>PARAMETERS</b>
See the Postfix <b>main.cf</b> file for syntax details and for 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 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 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
3
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
PIPE(8) PIPE(8) PIPE(8) PIPE(8)
<b>NAME</b> <b>NAME</b>
pipe - Postfix delivery to external command 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- program expects to be run from the <a href="master.8.html"><b>master</b>(8)</a> process man-
ager. 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 as finished, or it informs the queue manager that delivery
should be tried again at a later time. Delivery problem 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 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. appropriate.
<b>SINGLE-RECIPIENT</b> <b>DELIVERY</b> <b>SINGLE-RECIPIENT</b> <b>DELIVERY</b>
Some external commands cannot handle more than one recipi- 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. 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 delivery request, specify
<i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> <b>=</b> <b>1</b> <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 in the first column of the Postfix <b>master.cf</b> entry for the
pipe-based delivery transport. pipe-based delivery transport.
@@ -42,38 +44,52 @@ PIPE(8) PIPE(8)
file at the end of a service definition. The syntax is as file at the end of a service definition. The syntax is as
follows: follows:
<b>flags=BFR.</b>&gt; (optional) <b>flags=BFRhqu.</b>&gt; (optional)
Optional message processing flags. By default, a Optional message processing flags. By default, a
message is copied unchanged. message is copied unchanged.
<b>B</b> Append a blank line at the end of each mes- <b>B</b> Append a blank line at the end of each mes-
sage. This is required by some mail user sage. This is required by some mail user
agents that recognize "<b>From</b> " lines only agents that recognize "<b>From</b> " lines only
when preceded by a blank line. when preceded by a blank line.
<b>F</b> Prepend a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope <b>F</b> Prepend a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope
header to the message content. This is header to the message content. This is
expected by, for example, <b>UUCP</b> software. 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. 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 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.
PIPE(8) PIPE(8)
<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. 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- This is expected by, for example, <b>UUCP</b> soft-
ware. ware.
@@ -81,16 +97,16 @@ PIPE(8) PIPE(8)
<b>user</b>=<i>username</i>:<i>groupname</i> <b>user</b>=<i>username</i>:<i>groupname</i>
The external command is executed with the rights of The external command is executed with the rights of
the specified <i>username</i>. The software refuses to the specified <i>username</i>. The software refuses to
execute commands with root privileges, or with the execute commands with root privileges, or with the
privileges of the mail system owner. If <i>groupname</i> privileges of the mail system owner. If <i>groupname</i>
is specified, the corresponding group ID is used is specified, the corresponding group ID is used
instead of the group ID of <i>username</i>. instead of the group ID of <i>username</i>.
<b>eol=string</b> (default: <b>\n</b>) <b>eol=string</b> (default: <b>\n</b>)
The output record delimiter. Typically one would The output record delimiter. Typically one would
use either <b>\r\n</b> or <b>\n</b>. The usual C-style backslash 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> 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>\v</b> <b>\</b><i>octal</i> and <b>\\</b>.
<b>size</b>=<i>size_limit</i> (optional) <b>size</b>=<i>size_limit</i> (optional)
@@ -98,52 +114,49 @@ PIPE(8) PIPE(8)
will be bounced back to the sender. will be bounced back to the sender.
<b>argv</b>=<i>command</i>... (required) <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- as the last command attribute. The command is exe-
cuted directly, i.e. without interpretation of cuted directly, i.e. without interpretation of
shell meta characters by a shell command inter- shell meta characters by a shell command inter-
preter. preter.
In the command argument vector, the following In the command argument vector, the following
macros are recognized and replaced with correspond- macros are recognized and replaced with correspond-
ing information from the Postfix queue manager ing information from the Postfix queue manager
delivery request: delivery request:
<b>${extension</b>} <b>${extension</b>}
This macro expands to the extension part of This macro expands to the extension part of
a recipient address. For example, with an a recipient address. For example, with an
address <i>user+foo@domain</i> the extension is address <i>user+foo@domain</i> the extension is
<i>foo</i>. <i>foo</i>.
A command-line argument that contains A command-line argument that contains
<b>${extension</b>} expands into as many command- <b>${extension</b>} expands into as many command-
line arguments as there are recipients. line arguments as there are recipients.
This information is modified by the <b>u</b> flag
for case folding.
<b>${mailbox</b>} <b>${mailbox</b>}
This macro expands to the complete local This macro expands to the complete local
part of a recipient address. For example, part of a recipient address. For example,
with an address <i>user+foo@domain</i> the mailbox with an address <i>user+foo@domain</i> the mailbox
is <i>user+foo</i>. is <i>user+foo</i>.
2
PIPE(8) PIPE(8)
A command-line argument that contains A command-line argument that contains
<b>${mailbox</b>} expands into as many command-line <b>${mailbox</b>} expands into as many command-line
arguments as there are recipients. arguments as there are recipients.
This information is modified by the <b>u</b> flag
for case folding.
<b>${nexthop</b>} <b>${nexthop</b>}
This macro expands to the next-hop hostname. This macro expands to the next-hop hostname.
This information is modified by the <b>h</b> flag
for case folding.
<b>${recipient</b>} <b>${recipient</b>}
This macro expands to the complete recipient This macro expands to the complete recipient
address. address.
@@ -152,10 +165,16 @@ PIPE(8) PIPE(8)
<b>${recipient</b>} expands into as many command- <b>${recipient</b>} expands into as many command-
line arguments as there are recipients. line arguments as there are recipients.
This information is modified by the <b>hqu</b>
flags for quoting and case folding.
<b>${sender</b>} <b>${sender</b>}
This macro expands to the envelope sender This macro expands to the envelope sender
address. address.
This information is modified by the <b>q</b> flag
for quoting.
<b>${size</b>} <b>${size</b>}
This macro expands to Postfix's idea of the This macro expands to Postfix's idea of the
message size, which is an approximation of message size, which is an approximation of
@@ -171,40 +190,31 @@ PIPE(8) PIPE(8)
<b>${user</b>} expands into as many command-line <b>${user</b>} expands into as many command-line
arguments as there are recipients. arguments as there are recipients.
In addition to the form ${<i>name</i>}, the forms $<i>name</i> and This information is modified by the <b>u</b> flag
$(<i>name</i>) are also recognized. Specify <b>$$</b> where a single <b>$</b> 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. is wanted.
<b>DIAGNOSTICS</b> <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;. ventions defined in &lt;<b>sysexits.h</b>&gt;.
Problems and transactions are logged to <b>syslogd</b>(8). Cor- Problems and transactions are logged to <b>syslogd</b>(8). Cor-
rupted message files are marked so that the queue manager rupted message files are marked so that the queue manager
can move them to the <b>corrupt</b> queue for further inspection. can move them to the <b>corrupt</b> queue for further inspection.
<b>SECURITY</b> <b>SECURITY</b>
This program needs a dual personality 1) to access the This program needs a dual personality 1) to access the
private Postfix queue and IPC mechanisms, and 2) to exe- private Postfix queue and IPC mechanisms, and 2) to exe-
cute external commands as the specified user. It is there- cute external commands as the specified user. It is there-
fore security sensitive. fore security sensitive.
<b>CONFIGURATION</b> <b>PARAMETERS</b> <b>CONFIGURATION</b> <b>PARAMETERS</b>
The following <b>main.cf</b> parameters are especially relevant 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>
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>
command after a configuration change. command after a configuration change.
<b>Miscellaneous</b> <b>Miscellaneous</b>
@@ -213,32 +223,32 @@ PIPE(8) PIPE(8)
exported to non-Postfix processes. exported to non-Postfix processes.
<b>mail</b><i>_</i><b>owner</b> <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. external command.
<b>Resource</b> <b>controls</b> <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. <b>ter.cf</b> entry.
<i>transport_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> <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 Limit the number of parallel deliveries to the same
destination, for delivery via the named <i>transport</i>. destination, for delivery via the named <i>transport</i>.
The default limit is taken from the <b>default</b><i>_</i><b>desti-</b> 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 <b>nation</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> parameter. The limit is
enforced by the Postfix queue manager. enforced by the Postfix queue manager.
<i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> <i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
Limit the number of recipients per message deliv- Limit the number of recipients per message deliv-
ery, for delivery via the named <i>transport</i>. The ery, for delivery via the named <i>transport</i>. The
default limit is taken from the <b>default</b><i>_</i><b>destina-</b> 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 <b>tion</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> parameter. The limit is
enforced by the Postfix queue manager. enforced by the Postfix queue manager.
<i>transport_</i><b>time</b><i>_</i><b>limit</b> <i>transport_</i><b>time</b><i>_</i><b>limit</b>
Limit the time for delivery to external command, Limit the time for delivery to external command,
for delivery via the named <b>transport</b>. The default 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- 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 ter. The limit is enforced by the Postfix queue
manager. manager.
<b>SEE</b> <b>ALSO</b> <b>SEE</b> <b>ALSO</b>
@@ -248,7 +258,7 @@ PIPE(8) PIPE(8)
syslogd(8) system logging syslogd(8) system logging
<b>LICENSE</b> <b>LICENSE</b>
The Secure Mailer license must be distributed with this The Secure Mailer license must be distributed with this
software. software.
<b>AUTHOR(S)</b> <b>AUTHOR(S)</b>
@@ -257,10 +267,6 @@ PIPE(8) PIPE(8)
P.O. Box 704 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
4
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
POSTSUPER(1) POSTSUPER(1) POSTSUPER(1) POSTSUPER(1)
<b>NAME</b> <b>NAME</b>
postsuper - Postfix superintendent postsuper - Postfix superintendent
@@ -59,18 +56,6 @@ POSTSUPER(1) POSTSUPER(1)
of the old message that it should have of the old message that it should have
deleted. deleted.
1
POSTSUPER(1) POSTSUPER(1)
<b>-p</b> Purge old temporary files that are left over after <b>-p</b> Purge old temporary files that are left over after
system or software crashes. system or software crashes.
@@ -125,18 +110,6 @@ POSTSUPER(1) POSTSUPER(1)
<b>syslogd</b>. <b>syslogd</b>.
<b>postsuper</b> reports the number of messages deleted with <b>-d</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 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 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> 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 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
3
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
REGEXP_TABLE(5) REGEXP_TABLE(5) REGEXP_TABLE(5) REGEXP_TABLE(5)
<b>NAME</b> <b>NAME</b>
regexp_table - format of Postfix regular expression tables 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>. 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 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 table, until a pattern is found that matches the search
string. string.
@@ -112,23 +97,6 @@ REGEXP_TABLE(5) REGEXP_TABLE(5)
P.O. Box 704 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
2
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
SMTPD(8) SMTPD(8) SMTPD(8) SMTPD(8)
<b>NAME</b> <b>NAME</b>
smtpd - Postfix SMTP server 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> details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change. command after a configuration change.
1
SMTPD(8) SMTPD(8)
<b>Compatibility</b> <b>controls</b> <b>Compatibility</b> <b>controls</b>
<b>strict</b><i>_</i><b>rfc821</b><i>_</i><b>envelopes</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. 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> <b>command</b><i>_</i><b>directory</b>
Location of Postfix support commands (default: Location of Postfix support commands (default:
2
SMTPD(8) SMTPD(8)
<b>$program</b><i>_</i><b>directory</b>). <b>$program</b><i>_</i><b>directory</b>).
<b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</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> <b>soft</b><i>_</i><b>bounce</b>
Change hard (5xx) reject responses into soft (4xx) Change hard (5xx) reject responses into soft (4xx)
reject responses. This can be useful for testing reject responses. This can be useful for testing
3
SMTPD(8) SMTPD(8)
purposes. purposes.
<b>Resource</b> <b>controls</b> <b>Resource</b> <b>controls</b>
@@ -256,19 +217,6 @@ SMTPD(8) SMTPD(8)
Restrict what sender addresses are allowed in <b>MAIL</b> Restrict what sender addresses are allowed in <b>MAIL</b>
<b>FROM</b> commands. <b>FROM</b> commands.
4
SMTPD(8) SMTPD(8)
<b>smtpd</b><i>_</i><b>recipient</b><i>_</i><b>restrictions</b> <b>smtpd</b><i>_</i><b>recipient</b><i>_</i><b>restrictions</b>
Restrict what recipient addresses are allowed in Restrict what recipient addresses are allowed in
<b>RCPT</b> <b>TO</b> commands. <b>RCPT</b> <b>TO</b> commands.
@@ -322,19 +270,6 @@ SMTPD(8) SMTPD(8)
Server response when a client violates the Server response when a client violates the
<b>reject</b><i>_</i><b>unknown</b><i>_</i><b>address</b> restriction. <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> <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 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> 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 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
6
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

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

View File

@@ -1,10 +1,7 @@
<html> <head> </head> <body> <pre> <html> <head> </head> <body> <pre>
TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>NAME</b> <b>NAME</b>
trivial-rewrite - Postfix address rewriting and resolving trivial-rewrite - Postfix address rewriting and resolving
daemon daemon
@@ -59,18 +56,6 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
users. It can run at a fixed low privilege in a chrooted users. It can run at a fixed low privilege in a chrooted
environment. environment.
1
TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>DIAGNOSTICS</b> <b>DIAGNOSTICS</b>
Problems and transactions are logged to <b>syslogd</b>(8). 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 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. details. The :<i>nexthop</i> part is optional.
2
TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>relayhost</b> <b>relayhost</b>
The default host to send non-local mail to when no 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. 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 P.O. Box 704
Yorktown Heights, NY 10598, USA Yorktown Heights, NY 10598, USA
1
3
</pre> </body> </html> </pre> </body> </html>

View File

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

View File

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

View File

@@ -178,11 +178,11 @@ case "$SYSTEM.$RELEASE" in
# See where GDBM's ndbm.h include file sits. # See where GDBM's ndbm.h include file sits.
if [ -f /usr/include/gdbm-ndbm.h ] if [ -f /usr/include/gdbm-ndbm.h ]
then then
CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=\\\"<gdbm-ndbm.h>\\\"" CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H='<gdbm-ndbm.h>'"
GDBM_LIBS=gdbm GDBM_LIBS=gdbm
elif [ -f /usr/include/gdbm/ndbm.h ] elif [ -f /usr/include/gdbm/ndbm.h ]
then then
CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=\\\"<gdbm/ndbm.h>\\\"" CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H='<gdbm/ndbm.h>'"
GDBM_LIBS=gdbm GDBM_LIBS=gdbm
fi fi
SYSLIBS="-ldb" 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 This program expects to be run from the \fBmaster\fR(8) process
manager. 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 The \fBpipe\fR daemon updates queue files and marks recipients
as finished, or it informs the queue manager that delivery should as finished, or it informs the queue manager that delivery should
be tried again at a later time. Delivery problem reports are sent be tried again at a later time. Delivery problem reports are sent
@@ -46,7 +50,7 @@ entry for the pipe-based delivery transport.
.fi .fi
The external command attributes are given in the \fBmaster.cf\fR The external command attributes are given in the \fBmaster.cf\fR
file at the end of a service definition. The syntax is as follows: 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 Optional message processing flags. By default, a message is
copied unchanged. copied unchanged.
.RS .RS
@@ -61,6 +65,27 @@ This is expected by, for example, \fBUUCP\fR software.
.IP \fBR\fR .IP \fBR\fR
Prepend a \fBReturn-Path:\fR message header with the envelope sender Prepend a \fBReturn-Path:\fR message header with the envelope sender
address. 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 .IP \fB.\fR
Prepend \fB.\fR to lines starting with "\fB.\fR". This is needed Prepend \fB.\fR to lines starting with "\fB.\fR". This is needed
by, for example, \fBBSMTP\fR software. by, for example, \fBBSMTP\fR software.
@@ -101,6 +126,8 @@ For example, with an address \fIuser+foo@domain\fR the extension is
.sp .sp
A command-line argument that contains \fB${\fBextension\fR}\fR expands A command-line argument that contains \fB${\fBextension\fR}\fR expands
into as many command-line arguments as there are recipients. 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 .IP \fB${\fBmailbox\fR}\fR
This macro expands to the complete local part of a recipient address. This macro expands to the complete local part of a recipient address.
For example, with an address \fIuser+foo@domain\fR the mailbox is 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 .sp
A command-line argument that contains \fB${\fBmailbox\fR}\fR A command-line argument that contains \fB${\fBmailbox\fR}\fR
expands into as many command-line arguments as there are recipients. 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 .IP \fB${\fBnexthop\fR}\fR
This macro expands to the next-hop hostname. 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 .IP \fB${\fBrecipient\fR}\fR
This macro expands to the complete recipient address. This macro expands to the complete recipient address.
.sp .sp
A command-line argument that contains \fB${\fBrecipient\fR}\fR A command-line argument that contains \fB${\fBrecipient\fR}\fR
expands into as many command-line arguments as there are recipients. 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 .IP \fB${\fBsender\fR}\fR
This macro expands to the envelope sender address. 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 .IP \fB${\fBsize\fR}\fR
This macro expands to Postfix's idea of the message size, which This macro expands to Postfix's idea of the message size, which
is an approximation of the size of the message as delivered. is an approximation of the size of the message as delivered.
@@ -127,6 +163,8 @@ part is \fIuser\fR.
.sp .sp
A command-line argument that contains \fB${\fBuser\fR}\fR expands A command-line argument that contains \fB${\fBuser\fR}\fR expands
into as many command-line arguments as there are recipients. into as many command-line arguments as there are recipients.
.sp
This information is modified by the \fBu\fR flag for case folding.
.RE .RE
.PP .PP
In addition to the form ${\fIname\fR}, the forms $\fIname\fR and In addition to the form ${\fIname\fR}, the forms $\fIname\fR and

View File

@@ -15,7 +15,7 @@
* Version of this program. * Version of this program.
*/ */
#define VAR_MAIL_VERSION "mail_version" #define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "Snapshot-20010525" #define DEF_MAIL_VERSION "Snapshot-20010610"
extern char *var_mail_version; extern char *var_mail_version;
/* LICENSE /* 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 * XXX 2821: Section 4.5.3.1 says that a 552 RCPT TO reply
* must be treated as if the server replied with 452. * 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: case LMTP_STATE_RCPT:
if (!mail_from_rejected) { if (!mail_from_rejected) {
#ifndef RFC821_SYNTAX #ifndef notRFC821_SYNTAX
if (resp->code == 552) if (resp->code == 552)
resp->code = 452; resp->code = 452;
#endif #endif

View File

@@ -82,4 +82,5 @@ pipe.o: ../../include/mail_addr.h
pipe.o: ../../include/canon_addr.h pipe.o: ../../include/canon_addr.h
pipe.o: ../../include/split_addr.h pipe.o: ../../include/split_addr.h
pipe.o: ../../include/off_cvt.h pipe.o: ../../include/off_cvt.h
pipe.o: ../../include/quote_822_local.h
pipe.o: ../../include/mail_server.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 /* This program expects to be run from the \fBmaster\fR(8) process
/* manager. /* 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 /* The \fBpipe\fR daemon updates queue files and marks recipients
/* as finished, or it informs the queue manager that delivery should /* as finished, or it informs the queue manager that delivery should
/* be tried again at a later time. Delivery problem reports are sent /* be tried again at a later time. Delivery problem reports are sent
@@ -36,7 +40,7 @@
/* .fi /* .fi
/* The external command attributes are given in the \fBmaster.cf\fR /* The external command attributes are given in the \fBmaster.cf\fR
/* file at the end of a service definition. The syntax is as follows: /* 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 /* Optional message processing flags. By default, a message is
/* copied unchanged. /* copied unchanged.
/* .RS /* .RS
@@ -51,6 +55,27 @@
/* .IP \fBR\fR /* .IP \fBR\fR
/* Prepend a \fBReturn-Path:\fR message header with the envelope sender /* Prepend a \fBReturn-Path:\fR message header with the envelope sender
/* address. /* 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 /* .IP \fB.\fR
/* Prepend \fB.\fR to lines starting with "\fB.\fR". This is needed /* Prepend \fB.\fR to lines starting with "\fB.\fR". This is needed
/* by, for example, \fBBSMTP\fR software. /* by, for example, \fBBSMTP\fR software.
@@ -91,6 +116,8 @@
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBextension\fR}\fR expands /* A command-line argument that contains \fB${\fBextension\fR}\fR expands
/* into as many command-line arguments as there are recipients. /* 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 /* .IP \fB${\fBmailbox\fR}\fR
/* This macro expands to the complete local part of a recipient address. /* This macro expands to the complete local part of a recipient address.
/* For example, with an address \fIuser+foo@domain\fR the mailbox is /* For example, with an address \fIuser+foo@domain\fR the mailbox is
@@ -98,15 +125,24 @@
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBmailbox\fR}\fR /* A command-line argument that contains \fB${\fBmailbox\fR}\fR
/* expands into as many command-line arguments as there are recipients. /* 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 /* .IP \fB${\fBnexthop\fR}\fR
/* This macro expands to the next-hop hostname. /* 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 /* .IP \fB${\fBrecipient\fR}\fR
/* This macro expands to the complete recipient address. /* This macro expands to the complete recipient address.
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBrecipient\fR}\fR /* A command-line argument that contains \fB${\fBrecipient\fR}\fR
/* expands into as many command-line arguments as there are recipients. /* 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 /* .IP \fB${\fBsender\fR}\fR
/* This macro expands to the envelope sender address. /* 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 /* .IP \fB${\fBsize\fR}\fR
/* This macro expands to Postfix's idea of the message size, which /* This macro expands to Postfix's idea of the message size, which
/* is an approximation of the size of the message as delivered. /* is an approximation of the size of the message as delivered.
@@ -117,6 +153,8 @@
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBuser\fR}\fR expands /* A command-line argument that contains \fB${\fBuser\fR}\fR expands
/* into as many command-line arguments as there are recipients. /* into as many command-line arguments as there are recipients.
/* .sp
/* This information is modified by the \fBu\fR flag for case folding.
/* .RE /* .RE
/* .PP /* .PP
/* In addition to the form ${\fIname\fR}, the forms $\fIname\fR and /* In addition to the form ${\fIname\fR}, the forms $\fIname\fR and
@@ -195,6 +233,7 @@
#include <pwd.h> #include <pwd.h>
#include <grp.h> #include <grp.h>
#include <fcntl.h> #include <fcntl.h>
#include <ctype.h>
#ifdef STRCASECMP_IN_STRINGS_H #ifdef STRCASECMP_IN_STRINGS_H
#include <strings.h> #include <strings.h>
@@ -231,6 +270,7 @@
#include <canon_addr.h> #include <canon_addr.h>
#include <split_addr.h> #include <split_addr.h>
#include <off_cvt.h> #include <off_cvt.h>
#include <quote_822_local.h>
/* Single server skeleton. */ /* Single server skeleton. */
@@ -261,6 +301,16 @@
#define PIPE_FLAG_MAILBOX (1<<3) #define PIPE_FLAG_MAILBOX (1<<3)
#define PIPE_FLAG_SIZE (1<<4) #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 * Tunable parameters. Values are taken from the config file, after
* prepending the service name to _name, and so on. * 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 */ off_t size_limit; /* max size in bytes we will accept */
} PIPE_ATTR; } PIPE_ATTR;
/*
* Silly little macros.
*/
#define STR vstring_str
/* parse_callback - callback for mac_parse() */ /* parse_callback - callback for mac_parse() */
static int parse_callback(int type, VSTRING *buf, char *context) 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); 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 */ /* 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); VSTRING *buf = vstring_alloc(100);
ARGV *result; ARGV *result;
@@ -338,7 +428,6 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* would screw up mail addresses that contain $ characters. * would screw up mail addresses that contain $ characters.
*/ */
#define NO 0 #define NO 0
#define STR vstring_str
result = argv_alloc(1); result = argv_alloc(1);
for (cpp = argv; *cpp; cpp++) { for (cpp = argv; *cpp; cpp++) {
@@ -353,8 +442,8 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list)
* This argument contains $recipient. * This argument contains $recipient.
*/ */
if (expand_flag & PIPE_FLAG_RCPT) { if (expand_flag & PIPE_FLAG_RCPT) {
dict_update(PIPE_DICT_TABLE, PIPE_DICT_RCPT, morph_recipient(buf, rcpt_list->info[i].address, flags);
rcpt_list->info[i].address); 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. * expansions of this specific command-line argument.
*/ */
if (expand_flag & PIPE_FLAG_USER) { 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) if (split_at_right(STR(buf), '@') == 0)
msg_warn("no @ in recipient address: %s", msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address); 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); split_addr(STR(buf), *var_rcpt_delim);
if (*STR(buf) == 0) if (*STR(buf) == 0)
continue; continue;
lowercase(STR(buf));
dict_update(PIPE_DICT_TABLE, PIPE_DICT_USER, 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. * delimiter and the rightmost @. The extension may be blank.
*/ */
if (expand_flag & PIPE_FLAG_EXTENSION) { 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) if (split_at_right(STR(buf), '@') == 0)
msg_warn("no @ in recipient address: %s", msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address); rcpt_list->info[i].address);
if (*var_rcpt_delim == 0 if (*var_rcpt_delim == 0
|| (ext = split_addr(STR(buf), *var_rcpt_delim)) == 0) || (ext = split_addr(STR(buf), *var_rcpt_delim)) == 0)
ext = ""; /* insert null arg */ ext = ""; /* insert null arg */
else
lowercase(ext);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_EXTENSION, 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 @. * anything to the left of the rightmost @.
*/ */
if (expand_flag & PIPE_FLAG_MAILBOX) { 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) if (split_at_right(STR(buf), '@') == 0)
msg_warn("no @ in recipient address: %s", msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address); rcpt_list->info[i].address);
lowercase(STR(buf));
dict_update(PIPE_DICT_TABLE, PIPE_DICT_MAILBOX, 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': case 'R':
attr->flags |= MAIL_COPY_RETURN_PATH; attr->flags |= MAIL_COPY_RETURN_PATH;
break; 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: default:
msg_fatal("unknown flag: %c (ignored)", *cp); msg_fatal("unknown flag: %c (ignored)", *cp);
break; 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) if (vstream_fseek(request->fp, request->data_offset, SEEK_SET) < 0)
msg_fatal("seek queue file %s: %m", VSTREAM_PATH(request->fp)); 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); 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); vstring_sprintf(buf, "%ld", (long) request->data_size);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SIZE, STR(buf)); dict_update(PIPE_DICT_TABLE, PIPE_DICT_SIZE, STR(buf));
vstring_free(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"); export_env = argv_split(var_export_environ, ", \t\r\n");
command_status = pipe_command(request->fp, why, command_status = pipe_command(request->fp, why,

View File

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

View File

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

View File

@@ -948,6 +948,8 @@ int main(int argc, char **argv)
case SM_MODE_NEWALIAS: case SM_MODE_NEWALIAS:
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("alias initialization mode requires no recipient"); msg_fatal("alias initialization mode requires no recipient");
if (*var_alias_db_map == 0)
return (0);
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
argv_add(ext_argv, "postalias", (char *) 0); argv_add(ext_argv, "postalias", (char *) 0);
for (n = 0; n < msg_verbose; n++) 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_SIZE (1<<3)
#define SMTP_FEATURE_STARTTLS (1<<4) #define SMTP_FEATURE_STARTTLS (1<<4)
#define SMTP_FEATURE_AUTH (1<<5) #define SMTP_FEATURE_AUTH (1<<5)
#define SMTP_FEATURE_MAYBEPIX (1<<6) /* PIX smtp fixup mode */
/* /*
* smtp.c * smtp.c

View File

@@ -173,6 +173,14 @@ int smtp_helo(SMTP_STATE *state)
"host %s refused to talk to me: %s", "host %s refused to talk to me: %s",
session->namaddr, translit(resp->str, "\n", " "))); 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 * 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 * 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 * XXX 2821: Section 4.5.3.1 says that a 552 RCPT TO reply
* must be treated as if the server replied with 452. * 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: case SMTP_STATE_RCPT:
if (!mail_from_rejected) { if (!mail_from_rejected) {
#ifndef RFC821_SYNTAX #ifndef notRFC821_SYNTAX
if (resp->code == 552) if (resp->code == 552)
resp->code = 452; resp->code = 452;
#endif #endif
@@ -644,6 +655,9 @@ int smtp_xfer(SMTP_STATE *state)
if (prev_type == REC_TYPE_CONT) /* missing newline at end */ if (prev_type == REC_TYPE_CONT) /* missing newline at end */
smtp_fputs("", 0, session->stream); 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)) if (vstream_ferror(state->src))
msg_fatal("queue file read error"); msg_fatal("queue file read error");
if (rec_type != REC_TYPE_XTRA) 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", "\tby %s (%s) with %s id %s",
var_myhostname, var_mail_name, var_myhostname, var_mail_name,
state->protocol, state->queue_id); state->protocol, state->queue_id);
/* XXX Should RFC 822 externalize recipient address */
rec_fprintf(state->cleanup, REC_TYPE_NORM, rec_fprintf(state->cleanup, REC_TYPE_NORM,
"\tfor <%s>; %s", state->recipient, mail_date(state->time)); "\tfor <%s>; %s", state->recipient, mail_date(state->time));
} else { } 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)); "\tid %s; %s", state->queue_id, mail_date(state->time));
} }
#ifdef RECEIVED_ENVELOPE_FROM #ifdef RECEIVED_ENVELOPE_FROM
/* XXX Should RFC 822 externalize sender address */
rec_fprintf(state->cleanup, REC_TYPE_NORM, rec_fprintf(state->cleanup, REC_TYPE_NORM,
"\t(envelope-from %s)", state->sender); "\t(envelope-from %s)", state->sender);
#endif #endif

View File

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