mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-01 06:35:27 +00:00
snapshot-20000309
This commit is contained in:
1
postfix/.indent.pro
vendored
1
postfix/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -3607,10 +3607,10 @@ Apologies for any names omitted.
|
|||||||
20000126
|
20000126
|
||||||
|
|
||||||
Emergency feature: qmgr_site_hog_factor (default: 90 percent)
|
Emergency feature: qmgr_site_hog_factor (default: 90 percent)
|
||||||
limits the amount of resources that Postfix will devote to
|
limits the amount of resources that Postfix devotes to a
|
||||||
a single site. With less than 100, Postfix will defer the
|
single destination. With less than 100, Postfix defers the
|
||||||
excess mail so that one site with a large backlog does not
|
excess mail so that one site with a large backlog does not
|
||||||
block other deliveries.
|
block other deliveries. Files: qmgr/qmgr.c, qmgr/qmgr_message.c.
|
||||||
|
|
||||||
20000128
|
20000128
|
||||||
|
|
||||||
@@ -3669,3 +3669,77 @@ Apologies for any names omitted.
|
|||||||
to the access, canonical, virtual, transport and relocated
|
to the access, canonical, virtual, transport and relocated
|
||||||
man pages, and write new man pages that are specific to
|
man pages, and write new man pages that are specific to
|
||||||
regular expressions: pcre_table.5 and regexp_table.5.
|
regular expressions: pcre_table.5 and regexp_table.5.
|
||||||
|
|
||||||
|
20000214
|
||||||
|
|
||||||
|
Bugfix: postconf reported some parameters more than once
|
||||||
|
because the parameter extracting script didn't recognize
|
||||||
|
lines that differ in whitespace only. File: postconf/extract.awk.
|
||||||
|
Reported by Kenn Martin.
|
||||||
|
|
||||||
|
20000221
|
||||||
|
|
||||||
|
Logging: the SMTP client now logs log host+port when it is
|
||||||
|
unable to connect to a non-MX host, just like it logs
|
||||||
|
host+port when unable to connect to an MX host.
|
||||||
|
|
||||||
|
20000226
|
||||||
|
|
||||||
|
Bugfix: the SMTP server's "User unknown" test didn't notice
|
||||||
|
LDAP etc. dictionary access errors. The code now reports
|
||||||
|
a 450 status (try again instead of bounce) if the reply is
|
||||||
|
not definitive. File: smtp/smtpd_check.c.
|
||||||
|
|
||||||
|
Robustness: the smtp-source program could stall when making
|
||||||
|
hundreds of parallel connections to a Postfix system with
|
||||||
|
only one SMTP server process. The fix is to use non-blocking
|
||||||
|
connect() calls, very carefully. File: smtpstone/smtp-source.c.
|
||||||
|
|
||||||
|
20000303
|
||||||
|
|
||||||
|
Feature: with smtp_always_send_ehlo the SMTP client will
|
||||||
|
send EHLO regardless of the content of the SMTP server's
|
||||||
|
greeting. File: smtp/smtp_proto.c.
|
||||||
|
|
||||||
|
20000304
|
||||||
|
|
||||||
|
Feature: DICT_FLAG_SYNC_UPDATE flag for synchronous dictionary
|
||||||
|
updates, if supported by the underlying mechanism. Files:
|
||||||
|
util/dict.h, util/dict_open.c, util/dict_db.c.
|
||||||
|
|
||||||
|
20000307
|
||||||
|
|
||||||
|
Cleanup: the manual pages in Postfix configuration files
|
||||||
|
no longer contain troff formatting codes. The text is now
|
||||||
|
generated from prototype files in a new "proto" subdirectory.
|
||||||
|
Requested by Matthias Andree @ dt.e-technik.uni-dortmund.de.
|
||||||
|
|
||||||
|
20000308
|
||||||
|
|
||||||
|
Bugfix: the unused db and dbm "delete" routines would
|
||||||
|
clobber the per-dictionary flags when called before reading
|
||||||
|
or writing the table. Files: util/dict_dbm.c, util/dict_db.c.
|
||||||
|
Lutz Jaenicke @ aet.TU-Cottbus.DE.
|
||||||
|
|
||||||
|
Bugfix: the SMTP server would produce a cryptic message
|
||||||
|
when a queue file write error happened before it had written
|
||||||
|
any recipients. Keith Stevenson. File: smtpd/smtpd.c.
|
||||||
|
|
||||||
|
Robustness: the db and dbm "delete" routines didn't adjust
|
||||||
|
to dictionaries with/without one trailing null in lookup
|
||||||
|
keys and values. Did a complete rewrite of the routines.
|
||||||
|
Files: util/dict_db.c, util/dict_dbm.c.
|
||||||
|
|
||||||
|
Feature: specify "-d key" to postalias or postmap in order
|
||||||
|
to remove one key. This still needs to be generalized to
|
||||||
|
multi-key removal (read stdin?). Files: postmap/postmap.c,
|
||||||
|
postalias/postalias.c.
|
||||||
|
|
||||||
|
Test: added test targets for the dictionary delete operations.
|
||||||
|
Files: util/Makefile.in, util/dict_test.{c,in,ref}.
|
||||||
|
|
||||||
|
Feature: added data offset and recipient count fields to
|
||||||
|
the first queue file record output from the cleanup daemon.
|
||||||
|
The recipient counts provides an initial estimate for a
|
||||||
|
more advanced queue manager scheduling algorithm. Files:
|
||||||
|
cleanup/cleanup_envelope.c, cleanup/cleanup_extracted.c.
|
||||||
|
@@ -399,17 +399,26 @@ forward mail to a real person.
|
|||||||
11 - To chroot or not to chroot
|
11 - To chroot or not to chroot
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
Most Postfix daemons can run in a chroot jail, that is, in a chroot
|
Postfix can run most daemon processes in a chroot jail, that is,
|
||||||
environment at fixed low privilege. This provides a significant
|
the processes run at a fixed low privilege and with access only to
|
||||||
barrier against intrusion. The barrier is not impenetrable, but
|
the Postfix queue directories (/var/spool/postfix). This provides
|
||||||
every little bit helps.
|
a significant barrier against intrusion. The barrier is not
|
||||||
|
impenetrable, but every little bit helps.
|
||||||
|
|
||||||
The file /etc/postfix/master.cf by default runs no Postfix daemons
|
With the exception of the Postfix local delivery and `pipe' daemons,
|
||||||
in a chroot jail. However, with the exception of the `local' and
|
every Postfix daemon can run chrooted.
|
||||||
`pipe' daemons, every Postfix daemon can run chrooted.
|
|
||||||
|
|
||||||
The examples/chroot-setup directory has a collection of scripts
|
By default, no Postfix daemon runs chrooted. In order to enable
|
||||||
for setting up chroot environments for Postfix systems.
|
chroot operation, edit the file /etc/postfix/master.cf. It is
|
||||||
|
highy recommended to chroot the daemons that talk to the network:
|
||||||
|
the smtp and smtpd processes.
|
||||||
|
|
||||||
|
Note that a chrooted daemon resolves all filenames relative to the
|
||||||
|
Postfix queue directory (/var/spool/postfix). For successful use
|
||||||
|
of a chroot jail, most UNIX systems require you to bring in some
|
||||||
|
files or device nodes. The examples/chroot-setup directory has a
|
||||||
|
collection of scripts that help you set up chroot environments for
|
||||||
|
Postfix systems.
|
||||||
|
|
||||||
12 - Security: writable versus protected maildrop directory
|
12 - Security: writable versus protected maildrop directory
|
||||||
===========================================================
|
===========================================================
|
||||||
|
@@ -4,7 +4,7 @@ OPTS = "CC=$(CC)"
|
|||||||
DIRS = util global dns master postfix smtpstone sendmail error \
|
DIRS = util global dns master postfix smtpstone sendmail error \
|
||||||
pickup cleanup smtpd local trivial-rewrite qmgr smtp bounce pipe \
|
pickup cleanup smtpd local trivial-rewrite qmgr smtp bounce pipe \
|
||||||
showq postalias postcat postconf postdrop postkick postlock postlog \
|
showq postalias postcat postconf postdrop postkick postlock postlog \
|
||||||
postmap postsuper # spawn man html
|
postmap postsuper # spawn proto man html
|
||||||
|
|
||||||
default: update
|
default: update
|
||||||
|
|
||||||
|
@@ -1,14 +1,28 @@
|
|||||||
Incompatible changes with snapshot-20000204
|
Incompatible changes with snapshot-20000309
|
||||||
===========================================
|
===========================================
|
||||||
|
|
||||||
This release is mainly to have a reference point after reorganizing
|
This release is mainly to have a reference point after reorganizing
|
||||||
the cleanup daemon.
|
the cleanup daemon, and before adding some major contributions from
|
||||||
|
other people.
|
||||||
|
|
||||||
Major changes with snapshot-20000204
|
Major changes with snapshot-20000309
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
Questionable feature: with "smtp_skip_5xx_greeting = yes", Postfix
|
Questionable feature: with "smtp_skip_5xx_greeting = yes", Postfix
|
||||||
emulates behavior found in some other MTAs.
|
emulates behavior found in some other MTAs.
|
||||||
|
|
||||||
|
Questionable feature: with "smtp_always_send_ehlo = yes", the SMTP
|
||||||
|
client sends EHLO regardless of the content of the SMTP server's
|
||||||
|
greeting.
|
||||||
|
|
||||||
|
Specify "-d key" to postalias or postmap in order to remove one
|
||||||
|
key. This still needs to be generalized to multi-key removal (e.g.,
|
||||||
|
read keys from stdin).
|
||||||
|
|
||||||
|
The manual pages in Postfix configuration files no longer contain
|
||||||
|
troff formatting codes. The text is now generated from prototype
|
||||||
|
files in a new "proto" subdirectory.
|
||||||
|
|
||||||
|
|
||||||
Incompatible changes with postfix-19991231:
|
Incompatible changes with postfix-19991231:
|
||||||
===========================================
|
===========================================
|
||||||
|
1
postfix/bounce/.indent.pro
vendored
1
postfix/bounce/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/cleanup/.indent.pro
vendored
1
postfix/cleanup/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -54,9 +54,11 @@ typedef struct CLEANUP_STATE {
|
|||||||
BH_TABLE *dups; /* recipient dup filter */
|
BH_TABLE *dups; /* recipient dup filter */
|
||||||
long warn_time; /* cleanup_envelope.c */
|
long warn_time; /* cleanup_envelope.c */
|
||||||
void (*action) (struct CLEANUP_STATE *, int, char *, int);
|
void (*action) (struct CLEANUP_STATE *, int, char *, int);
|
||||||
long mesg_offset; /* start of message segment */
|
off_t mesg_offset; /* start of message segment */
|
||||||
long data_offset; /* start of message content */
|
off_t data_offset; /* start of message content */
|
||||||
|
off_t xtra_offset; /* start of extra segment */
|
||||||
int end_seen; /* REC_TYPE_END seen */
|
int end_seen; /* REC_TYPE_END seen */
|
||||||
|
int rcpt_count; /* recipient count */
|
||||||
} CLEANUP_STATE;
|
} CLEANUP_STATE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
/* This module processes envelope records and writes the result
|
/* This module processes envelope records and writes the result
|
||||||
/* to the queue file. It validates the message structure, rewrites
|
/* to the queue file. It validates the message structure, rewrites
|
||||||
/* sender/recipient addresses to canonical form, and expands recipients
|
/* sender/recipient addresses to canonical form, and expands recipients
|
||||||
/* according to entries in the virtual table. This routine absorbs but
|
/* according to entries in the virtual table. This routine absorbs but
|
||||||
/* does not emit the envelope to content boundary record.
|
/* does not emit the envelope to content boundary record.
|
||||||
/*
|
/*
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
@@ -76,12 +76,15 @@ void cleanup_envelope(CLEANUP_STATE *state, int type, char *str, int len)
|
|||||||
{
|
{
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The message content size record goes first, so it can easily be
|
* The message size and count record goes first, so it can easily be
|
||||||
* updated in place. This information takes precedence over any size
|
* updated in place. This information takes precedence over any size
|
||||||
* estimate provided by the client. Size goes first so that it it easy to
|
* estimate provided by the client. It's all in one record for forward
|
||||||
* produce queue file reports.
|
* compatibility so we can switch back to an older Postfix version.
|
||||||
*/
|
*/
|
||||||
cleanup_out_format(state, REC_TYPE_SIZE, REC_TYPE_SIZE_FORMAT, 0L);
|
cleanup_out_format(state, REC_TYPE_SIZE, REC_TYPE_SIZE_FORMAT,
|
||||||
|
(REC_TYPE_SIZE_CAST1) 0,
|
||||||
|
(REC_TYPE_SIZE_CAST2) 0,
|
||||||
|
(REC_TYPE_SIZE_CAST3) 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Pass control to the actual envelope processing routine.
|
* Pass control to the actual envelope processing routine.
|
||||||
|
@@ -41,6 +41,8 @@
|
|||||||
/* System library. */
|
/* System library. */
|
||||||
|
|
||||||
#include <sys_defs.h>
|
#include <sys_defs.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
/* Utility library. */
|
/* Utility library. */
|
||||||
|
|
||||||
@@ -99,6 +101,7 @@ void cleanup_extracted(CLEANUP_STATE *state, int type, char *buf, int len)
|
|||||||
|
|
||||||
static void cleanup_extracted_process(CLEANUP_STATE *state, int type, char *buf, int unused_len)
|
static void cleanup_extracted_process(CLEANUP_STATE *state, int type, char *buf, int unused_len)
|
||||||
{
|
{
|
||||||
|
char *myname = "cleanup_extracted_process";
|
||||||
VSTRING *clean_addr;
|
VSTRING *clean_addr;
|
||||||
ARGV *rcpt;
|
ARGV *rcpt;
|
||||||
char **cpp;
|
char **cpp;
|
||||||
@@ -172,4 +175,41 @@ static void cleanup_extracted_process(CLEANUP_STATE *state, int type, char *buf,
|
|||||||
*/
|
*/
|
||||||
cleanup_out_string(state, REC_TYPE_END, "");
|
cleanup_out_string(state, REC_TYPE_END, "");
|
||||||
state->end_seen = 1;
|
state->end_seen = 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* vstream_fseek() would flush the buffer anyway, but the code just reads
|
||||||
|
* better if we flush first, because it makes seek error handling more
|
||||||
|
* straightforward.
|
||||||
|
*/
|
||||||
|
if (vstream_fflush(state->dst)) {
|
||||||
|
msg_warn("%s: write queue file: %m", state->queue_id);
|
||||||
|
if (errno == EFBIG)
|
||||||
|
state->errs |= CLEANUP_STAT_SIZE;
|
||||||
|
else
|
||||||
|
state->errs |= CLEANUP_STAT_WRITE;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Update the preliminary message size and count fields with the actual
|
||||||
|
* values. For forward compatibility, we put the info into one record
|
||||||
|
* (so that it is possible to switch back to an older Postfix version).
|
||||||
|
*/
|
||||||
|
if (vstream_fseek(state->dst, 0L, SEEK_SET) < 0)
|
||||||
|
msg_fatal("%s: vstream_fseek %s: %m", myname, cleanup_path);
|
||||||
|
cleanup_out_format(state, REC_TYPE_SIZE, REC_TYPE_SIZE_FORMAT,
|
||||||
|
(REC_TYPE_SIZE_CAST1) (state->xtra_offset - state->data_offset),
|
||||||
|
(REC_TYPE_SIZE_CAST2) state->data_offset,
|
||||||
|
(REC_TYPE_SIZE_CAST3) state->rcpt_count);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Update the preliminary start-of-content marker with the actual value.
|
||||||
|
* For forward compatibility, we keep this information until the end of
|
||||||
|
* the year 2002 (so that it is possible to switch back to an older
|
||||||
|
* Postfix version).
|
||||||
|
*/
|
||||||
|
if (vstream_fseek(state->dst, state->mesg_offset, SEEK_SET) < 0)
|
||||||
|
msg_fatal("%s: vstream_fseek %s: %m", myname, cleanup_path);
|
||||||
|
cleanup_out_format(state, REC_TYPE_MESG, REC_TYPE_MESG_FORMAT,
|
||||||
|
(REC_TYPE_MESG_CAST) state->xtra_offset);
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,6 @@
|
|||||||
/* System library. */
|
/* System library. */
|
||||||
|
|
||||||
#include <sys_defs.h>
|
#include <sys_defs.h>
|
||||||
#include <errno.h>
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
@@ -477,7 +476,6 @@ static void cleanup_message_header(CLEANUP_STATE *state, int type, char *buf, in
|
|||||||
static void cleanup_message_body(CLEANUP_STATE *state, int type, char *buf, int len)
|
static void cleanup_message_body(CLEANUP_STATE *state, int type, char *buf, int len)
|
||||||
{
|
{
|
||||||
char *myname = "cleanup_message_body";
|
char *myname = "cleanup_message_body";
|
||||||
long xtra_offset;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copy body record to the output.
|
* Copy body record to the output.
|
||||||
@@ -487,30 +485,12 @@ static void cleanup_message_body(CLEANUP_STATE *state, int type, char *buf, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we have reached the end of the message content segment, update the
|
* If we have reached the end of the message content segment, record the
|
||||||
* start-of-content marker, now that we know how large the message
|
* current file position so we can compute the message size lateron.
|
||||||
* content segment is, and update the content size indicator at the
|
|
||||||
* beginning of the message envelope segment. vstream_fseek() implicitly
|
|
||||||
* flushes the stream, which may fail for various reasons.
|
|
||||||
*/
|
*/
|
||||||
else if (type == REC_TYPE_XTRA) {
|
else if (type == REC_TYPE_XTRA) {
|
||||||
if ((xtra_offset = vstream_ftell(state->dst)) < 0)
|
if ((state->xtra_offset = vstream_ftell(state->dst)) < 0)
|
||||||
msg_fatal("%s: vstream_ftell %s: %m", myname, cleanup_path);
|
msg_fatal("%s: vstream_ftell %s: %m", myname, cleanup_path);
|
||||||
if (vstream_fseek(state->dst, state->mesg_offset, SEEK_SET) < 0) {
|
|
||||||
msg_warn("%s: write queue file: %m", state->queue_id);
|
|
||||||
if (errno == EFBIG)
|
|
||||||
state->errs |= CLEANUP_STAT_SIZE;
|
|
||||||
else
|
|
||||||
state->errs |= CLEANUP_STAT_WRITE;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
cleanup_out_format(state, REC_TYPE_MESG, REC_TYPE_MESG_FORMAT, xtra_offset);
|
|
||||||
if (vstream_fseek(state->dst, 0L, SEEK_SET) < 0)
|
|
||||||
msg_fatal("%s: vstream_fseek %s: %m", myname, cleanup_path);
|
|
||||||
cleanup_out_format(state, REC_TYPE_SIZE, REC_TYPE_SIZE_FORMAT,
|
|
||||||
xtra_offset - state->data_offset);
|
|
||||||
if (vstream_fseek(state->dst, xtra_offset, SEEK_SET) < 0)
|
|
||||||
msg_fatal("%s: vstream_fseek %s: %m", myname, cleanup_path);
|
|
||||||
state->action = cleanup_extracted;
|
state->action = cleanup_extracted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -63,13 +63,13 @@ void cleanup_out_recipient(CLEANUP_STATE *state, char *recip)
|
|||||||
|
|
||||||
if (cleanup_virtual_maps == 0) {
|
if (cleanup_virtual_maps == 0) {
|
||||||
if (been_here_fixed(state->dups, recip) == 0)
|
if (been_here_fixed(state->dups, recip) == 0)
|
||||||
cleanup_out_string(state, REC_TYPE_RCPT, recip);
|
cleanup_out_string(state, REC_TYPE_RCPT, recip), state->rcpt_count++;
|
||||||
} else {
|
} else {
|
||||||
argv = cleanup_map1n_internal(state, recip, cleanup_virtual_maps,
|
argv = cleanup_map1n_internal(state, recip, cleanup_virtual_maps,
|
||||||
cleanup_ext_prop_mask & EXT_PROP_VIRTUAL);
|
cleanup_ext_prop_mask & EXT_PROP_VIRTUAL);
|
||||||
for (cpp = argv->argv; *cpp; cpp++)
|
for (cpp = argv->argv; *cpp; cpp++)
|
||||||
if (been_here_fixed(state->dups, *cpp) == 0)
|
if (been_here_fixed(state->dups, *cpp) == 0)
|
||||||
cleanup_out_string(state, REC_TYPE_RCPT, *cpp);
|
cleanup_out_string(state, REC_TYPE_RCPT, *cpp), state->rcpt_count++;
|
||||||
argv_free(argv);
|
argv_free(argv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -81,7 +81,9 @@ CLEANUP_STATE *cleanup_state_alloc(void)
|
|||||||
state->action = cleanup_envelope;
|
state->action = cleanup_envelope;
|
||||||
state->mesg_offset = -1;
|
state->mesg_offset = -1;
|
||||||
state->data_offset = -1;
|
state->data_offset = -1;
|
||||||
|
state->xtra_offset = -1;
|
||||||
state->end_seen = 0;
|
state->end_seen = 0;
|
||||||
|
state->rcpt_count = 0;
|
||||||
return (state);
|
return (state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,103 +1,132 @@
|
|||||||
#++
|
#
|
||||||
|
# ACCESS(5) ACCESS(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# access 5
|
# access - format of Postfix access table
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix access table
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# \fBpostmap /etc/postfix/access\fR
|
# postmap /etc/postfix/access
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The optional \fBaccess\fR table directs the Postfix SMTP server
|
# The optional access table directs the Postfix SMTP server
|
||||||
# to selectively reject or accept mail from or to specific hosts,
|
# to selectively reject or accept mail from or to specific
|
||||||
# domains, networks, host addresses or mail addresses.
|
# hosts, domains, networks, host addresses or mail
|
||||||
#
|
# addresses.
|
||||||
# Normally, the table serves as input to the \fBpostmap\fR(1) command.
|
#
|
||||||
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
# Normally, the table serves as input to the postmap(1) com-
|
||||||
# is used for fast searching by the mail system. After an update
|
# mand. The result, an indexed file in dbm or db format, is
|
||||||
# it may take a minute or so before the change becomes visible.
|
# used for fast searching by the mail system. After an
|
||||||
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
# update it may take a minute or so before the change
|
||||||
#
|
# becomes visible. Issue a postfix reload command to elimi-
|
||||||
# When the table is provided via other means such as NIS, LDAP
|
# nate the delay.
|
||||||
# or SQL, the same lookups are done as for ordinary indexed files.
|
#
|
||||||
#
|
# When the table is provided via other means such as NIS,
|
||||||
# Alternatively, the table can be provided as a regular-expression
|
# LDAP or SQL, the same lookups are done as for ordinary
|
||||||
# map where patterns are given as regular expressions. In that case,
|
# indexed files.
|
||||||
# the lookups are done in a slightly different way as described below.
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-
|
||||||
|
# expression map where patterns are given as regular expres-
|
||||||
|
# sions. In that case, the lookups are done in a slightly
|
||||||
|
# different way as described below.
|
||||||
|
#
|
||||||
# TABLE FORMAT
|
# TABLE FORMAT
|
||||||
# .ad
|
# The format of the access table is as follows:
|
||||||
# .fi
|
#
|
||||||
# The format of the access table is as follows:
|
# blanks and comments
|
||||||
# .IP "blanks and comments"
|
# Blank lines are ignored, as are lines beginning
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# with `#'.
|
||||||
# .IP "\fIpattern action\fR"
|
#
|
||||||
# When \fIpattern\fR matches a mail address, domain or host address,
|
# pattern action
|
||||||
# perform the corresponding \fIaction\fR.
|
# When pattern matches a mail address, domain or host
|
||||||
|
# address, perform the corresponding action.
|
||||||
|
#
|
||||||
# PATTERNS
|
# PATTERNS
|
||||||
# .ad
|
# With lookups from indexed files such as DB or DBM, or from
|
||||||
# .fi
|
# networked tables such as NIS, LDAP or SQL, patterns are
|
||||||
# With lookups from indexed files such as DB or DBM, or from networked
|
# tried in the order as listed below:
|
||||||
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
#
|
||||||
# listed below:
|
# user@domain
|
||||||
# .IP \fIuser\fR@\fIdomain\fR
|
# Matches the specified mail address.
|
||||||
# Matches the specified mail address.
|
#
|
||||||
# .IP \fIdomain.name\fR
|
# domain.name
|
||||||
# Matches the \fIdomain.name\fR itself and any subdomain thereof,
|
# Matches the domain.name itself and any subdomain
|
||||||
# either in hostnames or in mail addresses. Top-level domains will
|
# thereof, either in hostnames or in mail addresses.
|
||||||
# never be matched.
|
# Top-level domains will never be matched.
|
||||||
# .IP \fIuser\fR@
|
#
|
||||||
# Matches all mail addresses with the specified user part.
|
# user@ Matches all mail addresses with the specified user
|
||||||
# .IP \fInet.work.addr.ess\fR
|
# part.
|
||||||
# .IP \fInet.work.addr\fR
|
#
|
||||||
# .IP \fInet.work\fR
|
# 1
|
||||||
# .IP \fInet\fR
|
#
|
||||||
# Matches any host address in the specified network. A network
|
# ACCESS(5) ACCESS(5)
|
||||||
# address is a sequence of one or more octets separated by ".".
|
#
|
||||||
|
# net.work.addr.ess
|
||||||
|
#
|
||||||
|
# net.work.addr
|
||||||
|
#
|
||||||
|
# net.work
|
||||||
|
#
|
||||||
|
# net Matches any host address in the specified network.
|
||||||
|
# A network address is a sequence of one or more
|
||||||
|
# octets separated by ".".
|
||||||
|
#
|
||||||
# ACTIONS
|
# ACTIONS
|
||||||
# .ad
|
# [45]XX text
|
||||||
# .fi
|
# Reject the address etc. that matches the pattern,
|
||||||
# .IP "[\fB45\fR]\fIXX text\fR"
|
# and respond with the numerical code and text.
|
||||||
# Reject the address etc. that matches the pattern, and respond with
|
#
|
||||||
# the numerical code and text.
|
# REJECT Reject the address etc. that matches the pattern. A
|
||||||
# .IP \fBREJECT\fR
|
# generic error response message is generated.
|
||||||
# Reject the address etc. that matches the pattern. A generic
|
#
|
||||||
# error response message is generated.
|
# OK
|
||||||
# .IP \fBOK\fR
|
#
|
||||||
# .IP "\fIAny other text\fR"
|
# Any other text
|
||||||
# Accept the address etc. that matches the pattern.
|
# Accept the address etc. that matches the pattern.
|
||||||
|
#
|
||||||
# REGULAR EXPRESSION TABLES
|
# REGULAR EXPRESSION TABLES
|
||||||
# .ad
|
# This section describes how the table lookups change when
|
||||||
# .fi
|
# the table is given in the form of regular expressions. For
|
||||||
# This section describes how the table lookups change when the table
|
# a description of regular expression lookup table syntax,
|
||||||
# is given in the form of regular expressions. For a description of
|
# see regexp_table(5) or pcre_table(5).
|
||||||
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
#
|
||||||
# or \fBpcre_table\fR(5).
|
# Each pattern is a regular expression that is applied to
|
||||||
#
|
# the entire string being looked up. Depending on the appli-
|
||||||
# Each pattern is a regular expression that is applied to the entire
|
# cation, that string is an entire client hostname, an
|
||||||
# string being looked up. Depending on the application, that string
|
# entire client IP address, or an entire mail address. Thus,
|
||||||
# is an entire client hostname, an entire client IP address, or an
|
# no parent domain or parent network search is done, and
|
||||||
# entire mail address. Thus, no parent domain or parent network search
|
# user@domain mail addresses are not broken up into their
|
||||||
# is done, and \fIuser@domain\fR mail addresses are not broken up into
|
# user@ and domain constituent parts.
|
||||||
# their \fIuser@\fR and \fIdomain\fR constituent parts.
|
#
|
||||||
#
|
# Patterns are applied in the order as specified in the
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# table, until a pattern is found that matches the search
|
||||||
# pattern is found that matches the search string.
|
# string.
|
||||||
#
|
#
|
||||||
# Actions are the same as with normal indexed file lookups, with
|
# Actions are the same as with normal indexed file lookups,
|
||||||
# the additional feature that parenthesized substrings from the
|
# with the additional feature that parenthesized substrings
|
||||||
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
# from the pattern can be interpolated as $1, $2 and so on.
|
||||||
|
#
|
||||||
# BUGS
|
# BUGS
|
||||||
# The table format does not understand quoting conventions.
|
# The table format does not understand quoting conventions.
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# postmap(1) create mapping table
|
# postmap(1) create mapping table
|
||||||
# smtpd(8) smtp server
|
# smtpd(8) smtp server
|
||||||
# pcre_table(5) format of PCRE tables
|
# pcre_table(5) format of PCRE tables
|
||||||
# regexp_table(5) format of POSIX regular expression tables
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
#
|
||||||
|
# 2
|
||||||
|
#
|
||||||
|
# ACCESS(5) ACCESS(5)
|
||||||
|
#
|
||||||
# LICENSE
|
# LICENSE
|
||||||
# .ad
|
# The Secure Mailer license must be distributed with this
|
||||||
# .fi
|
# software.
|
||||||
# The Secure Mailer license must be distributed with this software.
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 3
|
||||||
|
#
|
||||||
|
@@ -32,121 +32,151 @@ decode: root
|
|||||||
# Person who should get root's mail
|
# Person who should get root's mail
|
||||||
#root: you
|
#root: you
|
||||||
|
|
||||||
#++
|
#
|
||||||
|
# ALIASES(5) ALIASES(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# aliases 5
|
# aliases - format of the Postfix alias database
|
||||||
# SUMMARY
|
#
|
||||||
# format of the Postfix alias database
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# .fi
|
# postalias [-c config_dir] [-v] [file_type:]input_file
|
||||||
# \fBpostalias\fR [\fB-c\fR \fIconfig_dir\fR] [\fB-v\fR]
|
#
|
||||||
# [\fIfile_type\fR:]\fIinput_file\fR
|
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The \fBaliases\fR file provides a system-wide mechanism to
|
# The aliases file provides a system-wide mechanism to redi-
|
||||||
# redirect mail for local recipients.
|
# rect mail for local recipients.
|
||||||
#
|
#
|
||||||
# The file serves as input to the \fBpostalias\fR(1) command. The
|
# The file serves as input to the postalias(1) command. The
|
||||||
# result, an indexed file in \fBdbm\fR or \fBdb\fR format, is
|
# result, an indexed file in dbm or db format, is used for
|
||||||
# used for fast lookup by the mail system. After an update
|
# fast lookup by the mail system. After an update it may
|
||||||
# it may take a minute or so before the change becomes visible.
|
# take a minute or so before the change becomes visible.
|
||||||
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
# Issue a postfix reload command to eliminate the delay.
|
||||||
#
|
#
|
||||||
# The input and output file formats are expected to be compatible
|
# The input and output file formats are expected to be com-
|
||||||
# with Sendmail version 8, and are expected to be suitable for the
|
# patible with Sendmail version 8, and are expected to be
|
||||||
# use as NIS maps.
|
# suitable for the use as NIS maps.
|
||||||
#
|
#
|
||||||
# Users can control delivery of their own mail by setting
|
# Users can control delivery of their own mail by setting up
|
||||||
# up \fB.forward\fR files in their home directory.
|
# .forward files in their home directory. Lines in per-user
|
||||||
# Lines in per-user \fB.forward\fR files have the same syntax
|
# .forward files have the same syntax as the right-hand side
|
||||||
# as the right-hand side of \fBaliases\fR entries.
|
# of aliases entries.
|
||||||
#
|
#
|
||||||
# The format of the alias database input file is as follows:
|
# The format of the alias database input file is as follows:
|
||||||
# .IP \(bu
|
#
|
||||||
# An alias definition has the form
|
# o An alias definition has the form
|
||||||
# .sp
|
#
|
||||||
# .ti +5
|
# name: value1, value2, ...
|
||||||
# \fIname\fR: \fIvalue1\fR, \fIvalue2\fR, \fI...\fR
|
#
|
||||||
# .IP \(bu
|
# o Lines that begin with whitespace continue the pre-
|
||||||
# Lines that begin with whitespace continue the previous line.
|
# vious line.
|
||||||
# .IP \(bu
|
#
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# o Blank lines are ignored, as are lines beginning
|
||||||
# .PP
|
# with `#'.
|
||||||
# The \fIname\fR is a local address (no domain part).
|
#
|
||||||
# Use double quotes when the name contains any special characters
|
# The name is a local address (no domain part). Use double
|
||||||
# such as whitespace, `#', `:', or `@'. The \fIname\fR is folded to
|
# quotes when the name contains any special characters such
|
||||||
# lowercase, in order to make database lookups case insensitive.
|
# as whitespace, `#', `:', or `@'. The name is folded to
|
||||||
# .PP
|
# lowercase, in order to make database lookups case insensi-
|
||||||
# In addition, when an alias exists for \fBowner-\fIname\fR, delivery
|
# tive.
|
||||||
# diagnostics are directed to that address, instead of to the originator.
|
#
|
||||||
# This is typically used to direct delivery errors to the owner of
|
# In addition, when an alias exists for owner-name, delivery
|
||||||
# a mailing list, who is in a better position to deal with mailing
|
# diagnostics are directed to that address, instead of to
|
||||||
# list delivery problems than the originator of the undelivered mail.
|
# the originator. This is typically used to direct delivery
|
||||||
# .PP
|
# errors to the owner of a mailing list, who is in a better
|
||||||
# The \fIvalue\fR contains one or more of the following:
|
# position to deal with mailing list delivery problems than
|
||||||
# .IP \fIaddress\fR
|
# the originator of the undelivered mail.
|
||||||
# Mail is forwarded to \fIaddress\fR, which is compatible
|
#
|
||||||
# with the RFC 822 standard.
|
# The value contains one or more of the following:
|
||||||
# .IP \fI/file/name\fR
|
#
|
||||||
# Mail is appended to \fI/file/name\fR. See \fBlocal\fR(8)
|
# address
|
||||||
# for details of delivery to file.
|
# Mail is forwarded to address, which is compatible
|
||||||
# Delivery is not limited to regular files. For example, to dispose
|
#
|
||||||
# of unwanted mail, deflect it to \fB/dev/null\fR.
|
# 1
|
||||||
# .IP "|\fIcommand\fR"
|
#
|
||||||
# Mail is piped into \fIcommand\fR. Commands that contain special
|
# ALIASES(5) ALIASES(5)
|
||||||
# characters, such as whitespace, should be enclosed between double
|
#
|
||||||
# quotes. See \fBlocal\fR(8) for details of delivery to command.
|
# with the RFC 822 standard.
|
||||||
# .sp
|
#
|
||||||
# When the command fails, a limited amount of command output is
|
# /file/name
|
||||||
# mailed back to the sender. The file \fB/usr/include/sysexits.h\fR
|
# Mail is appended to /file/name. See local(8) for
|
||||||
# defines the expected exit status codes. For example, use
|
# details of delivery to file. Delivery is not lim-
|
||||||
# \fB|"exit 67"\fR to simulate a "user unknown" error, and
|
# ited to regular files. For example, to dispose of
|
||||||
# \fB|"exit 0"\fR to implement an expensive black hole.
|
# unwanted mail, deflect it to /dev/null.
|
||||||
# .IP \fB:include:\fI/file/name\fR
|
#
|
||||||
# Mail is sent to the destinations listed in the named file.
|
# |command
|
||||||
# Lines in \fB:include:\fR files have the same syntax
|
# Mail is piped into command. Commands that contain
|
||||||
# as the right-hand side of alias entries.
|
# special characters, such as whitespace, should be
|
||||||
# .sp
|
# enclosed between double quotes. See local(8) for
|
||||||
# A destination can be any destination that is described in this
|
# details of delivery to command.
|
||||||
# manual page. However, delivery to "|\fIcommand\fR" and
|
#
|
||||||
# \fI/file/name\fR is disallowed by default. To enable, edit the
|
# When the command fails, a limited amount of command
|
||||||
# \fBallow_mail_to_commands\fR and \fBallow_mail_to_files\fR
|
# output is mailed back to the sender. The file
|
||||||
# configuration parameters.
|
# /usr/include/sysexits.h defines the expected exit
|
||||||
|
# status codes. For example, use |"exit 67" to simu-
|
||||||
|
# late a "user unknown" error, and |"exit 0" to
|
||||||
|
# implement an expensive black hole.
|
||||||
|
#
|
||||||
|
# :include:/file/name
|
||||||
|
# Mail is sent to the destinations listed in the
|
||||||
|
# named file. Lines in :include: files have the same
|
||||||
|
# syntax as the right-hand side of alias entries.
|
||||||
|
#
|
||||||
|
# A destination can be any destination that is
|
||||||
|
# described in this manual page. However, delivery to
|
||||||
|
# "|command" and /file/name is disallowed by default.
|
||||||
|
# To enable, edit the allow_mail_to_commands and
|
||||||
|
# allow_mail_to_files configuration parameters.
|
||||||
|
#
|
||||||
# ADDRESS EXTENSION
|
# ADDRESS EXTENSION
|
||||||
# .ad
|
# When alias database search fails, and the recipient local-
|
||||||
# .fi
|
# part contains the optional recipient delimiter (e.g.,
|
||||||
# When alias database search fails, and the recipient localpart
|
# user+foo), the search is repeated for the unextended
|
||||||
# contains the optional recipient delimiter (e.g., \fIuser+foo\fR),
|
# address (e.g., user).
|
||||||
# the search is repeated for the unextended address (e.g., \fIuser\fR).
|
#
|
||||||
# CONFIGURATION PARAMETERS
|
# CONFIGURATION PARAMETERS
|
||||||
# .ad
|
# The following main.cf parameters are especially relevant
|
||||||
# .fi
|
# to this topic. See the Postfix main.cf file for syntax
|
||||||
# The following \fBmain.cf\fR parameters are especially relevant to
|
# details and for default values. Use the postfix reload
|
||||||
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
# command after a configuration change.
|
||||||
# and for default values. Use the \fBpostfix reload\fR command after
|
#
|
||||||
# a configuration change.
|
# alias_maps
|
||||||
# .IP \fBalias_maps\fR
|
# List of alias databases.
|
||||||
# List of alias databases.
|
#
|
||||||
# .IP \fBallow_mail_to_commands\fR
|
# allow_mail_to_commands
|
||||||
# Restrict the usage of mail delivery to external command.
|
# Restrict the usage of mail delivery to external
|
||||||
# .IP \fBallow_mail_to_files\fR
|
# command.
|
||||||
# Restrict the usage of mail delivery to external file.
|
#
|
||||||
# .IP \fBowner_request_special\fR
|
# allow_mail_to_files
|
||||||
# Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR
|
# Restrict the usage of mail delivery to external
|
||||||
# addresses.
|
# file.
|
||||||
# .IP \fBrecipient_delimiter\fR
|
#
|
||||||
# Delimiter that separates recipients from address extensions.
|
# 2
|
||||||
|
#
|
||||||
|
# ALIASES(5) ALIASES(5)
|
||||||
|
#
|
||||||
|
# owner_request_special
|
||||||
|
# Give special treatment to owner-xxx and xxx-request
|
||||||
|
# addresses.
|
||||||
|
#
|
||||||
|
# recipient_delimiter
|
||||||
|
# Delimiter that separates recipients from address
|
||||||
|
# extensions.
|
||||||
|
#
|
||||||
# STANDARDS
|
# STANDARDS
|
||||||
# RFC 822 (ARPA Internet Text Messages)
|
# RFC 822 (ARPA Internet Text Messages)
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# local(8) local delivery agent
|
# local(8) local delivery agent
|
||||||
# postalias(1) alias database management
|
# postalias(1) alias database management
|
||||||
|
#
|
||||||
# LICENSE
|
# LICENSE
|
||||||
# .ad
|
# The Secure Mailer license must be distributed with this
|
||||||
# .fi
|
# software.
|
||||||
# The Secure Mailer license must be distributed with this software.
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 3
|
||||||
|
#
|
||||||
|
@@ -1,151 +1,191 @@
|
|||||||
#++
|
#
|
||||||
|
# CANONICAL(5) CANONICAL(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# canonical 5
|
# canonical - format of Postfix canonical table
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix canonical table
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# \fBpostmap /etc/postfix/canonical\fR
|
# postmap /etc/postfix/canonical
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The optional \fBcanonical\fR file specifies an address mapping for
|
# The optional canonical file specifies an address mapping
|
||||||
# local and non-local addresses. The mapping is used by the
|
# for local and non-local addresses. The mapping is used by
|
||||||
# \fBcleanup\fR(8) daemon. The address mapping is recursive.
|
# the cleanup(8) daemon. The address mapping is recursive.
|
||||||
#
|
#
|
||||||
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
# Normally, the file serves as input to the postmap(1) com-
|
||||||
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
# mand. The result, an indexed file in dbm or db format, is
|
||||||
# is used for fast searching by the mail system. After an update
|
# used for fast searching by the mail system. After an
|
||||||
# it may take a minute or so before the change becomes visible.
|
# update it may take a minute or so before the change
|
||||||
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
# becomes visible. Issue a postfix reload command to elimi-
|
||||||
#
|
# nate the delay.
|
||||||
# When the table is provided via other means such as NIS, LDAP
|
#
|
||||||
# or SQL, the same lookups are done as for ordinary indexed files.
|
# When the table is provided via other means such as NIS,
|
||||||
#
|
# LDAP or SQL, the same lookups are done as for ordinary
|
||||||
# Alternatively, the table can be provided as a regular-expression
|
# indexed files.
|
||||||
# map where patterns are given as regular expressions. In that case,
|
#
|
||||||
# the lookups are done in a slightly different way as described below.
|
# Alternatively, the table can be provided as a regular-
|
||||||
#
|
# expression map where patterns are given as regular expres-
|
||||||
# The \fBcanonical\fR mapping affects both message header addresses
|
# sions. In that case, the lookups are done in a slightly
|
||||||
# (i.e. addresses that appear inside messages) and message envelope
|
# different way as described below.
|
||||||
# addresses (for example, the addresses that are used in SMTP protocol
|
#
|
||||||
# commands). Think Sendmail rule set \fBS3\fR, if you like.
|
# The canonical mapping affects both message header
|
||||||
#
|
# addresses (i.e. addresses that appear inside messages) and
|
||||||
# Typically, one would use the \fBcanonical\fR table to replace login
|
# message envelope addresses (for example, the addresses
|
||||||
# names by \fIFirstname.Lastname\fR, or to clean up addresses produced
|
# that are used in SMTP protocol commands). Think Sendmail
|
||||||
# by legacy mail systems.
|
# rule set S3, if you like.
|
||||||
#
|
#
|
||||||
# The \fBcanonical\fR mapping is not to be confused with \fIvirtual
|
# Typically, one would use the canonical table to replace
|
||||||
# domain\fR support. Use the \fBvirtual\fR(5) map for that purpose.
|
# login names by Firstname.Lastname, or to clean up
|
||||||
#
|
# addresses produced by legacy mail systems.
|
||||||
# The \fBcanonical\fR mapping is not to be confused with local aliasing.
|
#
|
||||||
# Use the \fBaliases\fR(5) map for that purpose.
|
# The canonical mapping is not to be confused with virtual
|
||||||
|
# domain support. Use the virtual(5) map for that purpose.
|
||||||
|
#
|
||||||
|
# The canonical mapping is not to be confused with local
|
||||||
|
# aliasing. Use the aliases(5) map for that purpose.
|
||||||
|
#
|
||||||
# TABLE FORMAT
|
# TABLE FORMAT
|
||||||
# .ad
|
# The format of the canonical table is as follows:
|
||||||
# .fi
|
#
|
||||||
# The format of the \fBcanonical\fR table is as follows:
|
# blanks and comments
|
||||||
# .IP "blanks and comments"
|
# Blank lines are ignored, as are lines beginning
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# with `#'.
|
||||||
# .IP "\fIpattern result\fR"
|
#
|
||||||
# When \fIpattern\fR matches a mail address, replace it by the
|
# pattern result
|
||||||
# corresponding \fIresult\fR.
|
# When pattern matches a mail address, replace it by
|
||||||
# .PP
|
# the corresponding result.
|
||||||
# With lookups from indexed files such as DB or DBM, or from networked
|
#
|
||||||
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
# 1
|
||||||
# listed below:
|
#
|
||||||
# .IP "\fIuser\fR@\fIdomain address\fR"
|
# CANONICAL(5) CANONICAL(5)
|
||||||
# \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form
|
#
|
||||||
# has the highest precedence.
|
# With lookups from indexed files such as DB or DBM, or from
|
||||||
# .sp
|
# networked tables such as NIS, LDAP or SQL, patterns are
|
||||||
# This form useful to clean up addresses produced by legacy mail systems.
|
# tried in the order as listed below:
|
||||||
# It can also be used to produce \fIFirstname.Lastname\fR style
|
#
|
||||||
# addresses, but see below for a simpler solution.
|
# user@domain address
|
||||||
# .IP "\fIuser address\fR"
|
# user@domain is replaced by address. This form has
|
||||||
# \fIuser\fR@\fIsite\fR is replaced by \fIaddress\fR when \fIsite\fR is
|
# the highest precedence.
|
||||||
# equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
|
#
|
||||||
# $\fBmydestination\fR, or when it is listed in $\fBinet_interfaces\fR.
|
# This form useful to clean up addresses produced by
|
||||||
# .sp
|
# legacy mail systems. It can also be used to pro-
|
||||||
# This form is useful for replacing login names by
|
# duce Firstname.Lastname style addresses, but see
|
||||||
# \fIFirstname.Lastname\fR.
|
# below for a simpler solution.
|
||||||
# .IP "@\fIdomain address\fR"
|
#
|
||||||
# Every address in \fIdomain\fR is replaced by \fIaddress\fR.
|
# user address
|
||||||
# This form has the lowest precedence.
|
# user@site is replaced by address when site is equal
|
||||||
# .PP
|
# to $myorigin, when site is listed in $mydestina-
|
||||||
# In all the above forms, when \fIaddress\fR has the form
|
# tion, or when it is listed in $inet_interfaces.
|
||||||
# @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
|
#
|
||||||
|
# This form is useful for replacing login names by
|
||||||
|
# Firstname.Lastname.
|
||||||
|
#
|
||||||
|
# @domain address
|
||||||
|
# Every address in domain is replaced by address.
|
||||||
|
# This form has the lowest precedence.
|
||||||
|
#
|
||||||
|
# In all the above forms, when address has the form @other-
|
||||||
|
# domain, the result is the same user in otherdomain.
|
||||||
|
#
|
||||||
# ADDRESS EXTENSION
|
# ADDRESS EXTENSION
|
||||||
# .fi
|
# When table lookup fails, and the address localpart con-
|
||||||
# .ad
|
# tains the optional recipient delimiter (e.g.,
|
||||||
# When table lookup fails, and the address localpart contains the
|
# user+foo@domain), the search is repeated for the unex-
|
||||||
# optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR), the
|
# tended address (e.g. user@domain), and the unmatched
|
||||||
# search is repeated for the unextended address (e.g.
|
# extension is propagated to the result of table lookup. The
|
||||||
# \fIuser\fR@\fIdomain\fR), and the unmatched extension is propagated
|
# matching order is: user+foo@domain, user@domain, user+foo,
|
||||||
# to the result of table lookup. The matching order is:
|
# user, and @domain.
|
||||||
# \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR,
|
#
|
||||||
# \fIuser+foo\fR, \fIuser\fR, and @\fIdomain\fR.
|
|
||||||
# REGULAR EXPRESSION TABLES
|
# REGULAR EXPRESSION TABLES
|
||||||
# .ad
|
# This section describes how the table lookups change when
|
||||||
# .fi
|
# the table is given in the form of regular expressions. For
|
||||||
# This section describes how the table lookups change when the table
|
# a description of regular expression lookup table syntax,
|
||||||
# is given in the form of regular expressions. For a description of
|
# see regexp_table(5) or pcre_table(5).
|
||||||
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
#
|
||||||
# or \fBpcre_table\fR(5).
|
# Each pattern is a regular expression that is applied to
|
||||||
#
|
# the entire address being looked up. Thus, user@domain mail
|
||||||
# Each pattern is a regular expression that is applied to the entire
|
# addresses are not broken up into their user and @domain
|
||||||
# address being looked up. Thus, \fIuser@domain\fR mail addresses are not
|
# constituent parts, nor is user+foo broken up into user and
|
||||||
# broken up into their \fIuser\fR and \fI@domain\fR constituent parts,
|
# foo.
|
||||||
# nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR.
|
#
|
||||||
#
|
# Patterns are applied in the order as specified in the
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# table, until a pattern is found that matches the search
|
||||||
# pattern is found that matches the search string.
|
# string.
|
||||||
#
|
#
|
||||||
# Results are the same as with normal indexed file lookups, with
|
# Results are the same as with normal indexed file lookups,
|
||||||
# the additional feature that parenthesized substrings from the
|
#
|
||||||
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
# 2
|
||||||
|
#
|
||||||
|
# CANONICAL(5) CANONICAL(5)
|
||||||
|
#
|
||||||
|
# with the additional feature that parenthesized substrings
|
||||||
|
# from the pattern can be interpolated as $1, $2 and so on.
|
||||||
|
#
|
||||||
# BUGS
|
# BUGS
|
||||||
# The table format does not understand quoting conventions.
|
# The table format does not understand quoting conventions.
|
||||||
|
#
|
||||||
# CONFIGURATION PARAMETERS
|
# CONFIGURATION PARAMETERS
|
||||||
# .ad
|
# The following main.cf parameters are especially relevant
|
||||||
# .fi
|
# to this topic. See the Postfix main.cf file for syntax
|
||||||
# The following \fBmain.cf\fR parameters are especially relevant to
|
# details and for default values. Use the postfix reload
|
||||||
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
# command after a configuration change.
|
||||||
# and for default values. Use the \fBpostfix reload\fR command after
|
#
|
||||||
# a configuration change.
|
# canonical_maps
|
||||||
# .IP \fBcanonical_maps\fR
|
# List of canonical mapping tables.
|
||||||
# List of canonical mapping tables.
|
#
|
||||||
# .IP \fBrecipient_canonical_maps\fR
|
# recipient_canonical_maps
|
||||||
# Address mapping lookup table for envelope and header recipient
|
# Address mapping lookup table for envelope and
|
||||||
# addresses.
|
# header recipient addresses.
|
||||||
# .IP \fBsender_canonical_maps\fR
|
#
|
||||||
# Address mapping lookup table for envelope and header sender
|
# sender_canonical_maps
|
||||||
# addresses.
|
# Address mapping lookup table for envelope and
|
||||||
# .PP
|
# header sender addresses.
|
||||||
# Other parameters of interest:
|
#
|
||||||
# .IP \fBinet_interfaces\fR
|
# Other parameters of interest:
|
||||||
# The network interface addresses that this system receives mail on.
|
#
|
||||||
# .IP \fBmasquerade_domains\fR
|
# inet_interfaces
|
||||||
# List of domains that hide their subdomain structure.
|
# The network interface addresses that this system
|
||||||
# .IP \fBmasquerade_exceptions\fR
|
# receives mail on.
|
||||||
# List of user names that are not subject to address masquerading.
|
#
|
||||||
# .IP \fBmydestination\fR
|
# masquerade_domains
|
||||||
# List of domains that this mail system considers local.
|
# List of domains that hide their subdomain struc-
|
||||||
# .IP \fBmyorigin\fR
|
# ture.
|
||||||
# The domain that is appended to locally-posted mail.
|
#
|
||||||
# .IP \fBowner_request_special\fR
|
# masquerade_exceptions
|
||||||
# Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR
|
# List of user names that are not subject to address
|
||||||
# addresses.
|
# masquerading.
|
||||||
|
#
|
||||||
|
# mydestination
|
||||||
|
# List of domains that this mail system considers
|
||||||
|
# local.
|
||||||
|
#
|
||||||
|
# myorigin
|
||||||
|
# The domain that is appended to locally-posted mail.
|
||||||
|
#
|
||||||
|
# owner_request_special
|
||||||
|
# Give special treatment to owner-xxx and xxx-request
|
||||||
|
# addresses.
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# cleanup(8) canonicalize and enqueue mail
|
# cleanup(8) canonicalize and enqueue mail
|
||||||
# postmap(1) create mapping table
|
# postmap(1) create mapping table
|
||||||
# virtual(5) virtual domain mapping
|
# virtual(5) virtual domain mapping
|
||||||
# pcre_table(5) format of PCRE tables
|
# pcre_table(5) format of PCRE tables
|
||||||
# regexp_table(5) format of POSIX regular expression tables
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
#
|
||||||
|
# 3
|
||||||
|
#
|
||||||
|
# CANONICAL(5) CANONICAL(5)
|
||||||
|
#
|
||||||
# LICENSE
|
# LICENSE
|
||||||
# .ad
|
# The Secure Mailer license must be distributed with this
|
||||||
# .fi
|
# software.
|
||||||
# The Secure Mailer license must be distributed with this software.
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 4
|
||||||
# By default, this file is not used. See sample-canonical.cf
|
#
|
||||||
|
@@ -1,79 +1,97 @@
|
|||||||
#++
|
#
|
||||||
|
# PCRE_TABLE(5) PCRE_TABLE(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# pcre_table 5
|
# pcre_table - format of Postfix PCRE tables
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix PCRE tables
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# pcre:/etc/postfix/filename
|
# pcre:/etc/postfix/filename
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The Postfix mail system uses optional tables for address
|
# The Postfix mail system uses optional tables for address
|
||||||
# rewriting or mail routing. These tables usually are in
|
# rewriting or mail routing. These tables are usually in dbm
|
||||||
# \fBdbm\fR or \fBdb\fR format. Alternatively, lookup tables
|
# or db format. Alternatively, lookup tables can be speci-
|
||||||
# can be specified in Perl Compatible Regular Expression form.
|
# fied in Perl Compatible Regular Expression form.
|
||||||
#
|
#
|
||||||
# To find out what types of lookup tables your Postfix system
|
# To find out what types of lookup tables your Postfix sys-
|
||||||
# supports use the \fBpostconf -m\fR command.
|
# tem supports use the postconf -m command.
|
||||||
#
|
#
|
||||||
# The general form of a PCRE table is:
|
# The general form of a PCRE table is:
|
||||||
# .IP "blanks and comments"
|
#
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# blanks and comments
|
||||||
# .IP "\fIpattern result\fR"
|
# Blank lines are ignored, as are lines beginning
|
||||||
# When \fIpattern\fR matches a search string, use the corresponding
|
# with `#'.
|
||||||
# \fIresult\fR. A line that starts with white space continues the
|
#
|
||||||
# preceding line.
|
# pattern result
|
||||||
# .PP
|
# When pattern matches a search string, use the cor-
|
||||||
# Each pattern is a perl-like regular expression. The expression
|
# responding result. A line that starts with white
|
||||||
# delimiter can be any character, except whitespace or characters
|
# space continues the preceding line.
|
||||||
# that have special meaning (traditionally the forward slash is used).
|
#
|
||||||
# The regular expression can contain whitespace.
|
# Each pattern is a perl-like regular expression. The
|
||||||
#
|
# expression delimiter can be any character, except whites-
|
||||||
# By default, matching is case-insensitive, although following
|
# pace or characters that have special meaning (tradition-
|
||||||
# the second slash with an `i' flag will reverse this. Other flags
|
# ally the forward slash is used). The regular expression
|
||||||
# are supported, but the only other useful one is `U', which makes
|
# can contain whitespace.
|
||||||
# matching ungreedy (see PCRE documentation and source for more
|
#
|
||||||
# info).
|
# By default, matching is case-insensitive, although follow-
|
||||||
#
|
# ing the second slash with an `i' flag will reverse this.
|
||||||
# Each pattern is applied to the entire string being looked up.
|
# Other flags are supported, but the only other useful one
|
||||||
# Depending on the application, that string is an entire client
|
# is `U', which makes matching ungreedy (see PCRE documenta-
|
||||||
# hostname, an entire client IP address, or an entire mail address.
|
# tion and source for more info).
|
||||||
# Thus, no parent domain or parent network search is done, and
|
#
|
||||||
# \fIuser@domain\fR mail addresses are not broken up into their
|
# Each pattern is applied to the entire string being looked
|
||||||
# \fIuser\fR and \fIdomain\fR constituent parts, nor is \fIuser+foo\fR
|
# up. Depending on the application, that string is an
|
||||||
# broken up into \fIuser\fR and \fIfoo\fR.
|
# entire client hostname, an entire client IP address, or an
|
||||||
#
|
# entire mail address. Thus, no parent domain or parent
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# network search is done, and user@domain mail addresses are
|
||||||
# pattern is found that matches the search string.
|
# not broken up into their user and domain constituent
|
||||||
#
|
# parts, nor is user+foo broken up into user and foo.
|
||||||
# Substitution of sub-strings from the matched expression is
|
#
|
||||||
# possible using the conventional perl syntax ($1, $2, etc.). The
|
# Patterns are applied in the order as specified in the
|
||||||
# macros in the replacement string may need to be written as ${n}
|
# table, until a pattern is found that matches the search
|
||||||
# or $(n) if they aren't followed by whitespace.
|
# string.
|
||||||
|
#
|
||||||
|
# Substitution of sub-strings from the matched expression is
|
||||||
|
# possible using the conventional perl syntax ($1, $2,
|
||||||
|
# etc.). The macros in the replacement string may need to be
|
||||||
|
# written as ${n} or $(n) if they aren't followed by
|
||||||
|
#
|
||||||
|
# 1
|
||||||
|
#
|
||||||
|
# PCRE_TABLE(5) PCRE_TABLE(5)
|
||||||
|
#
|
||||||
|
# whitespace.
|
||||||
|
#
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
# # Protect your outgoing majordomo exploders
|
# # Protect your outgoing majordomo exploders
|
||||||
# /^(?!owner-)(.*)-outgoing@(my\.domain)$/ 550 Use ${1}@${2} instead
|
# /^(?!owner-)(.*)-outgoing@(my.domain)$/ 550 Use ${1}@${2} instead
|
||||||
#
|
#
|
||||||
# # Bounce friend@whatever, except when whatever is our domain (you would
|
# # Bounce friend@whatever, except when whatever is our domain (you would
|
||||||
# # be better just bouncing all friend@ mail - this is just an example).
|
# # be better just bouncing all friend@ mail - this is just an example).
|
||||||
# /^friend@(?!my\.domain).*$/ 550 Stick this in your pipe $0
|
# /^friend@(?!my.domain).*$/ 550 Stick this in your pipe $0
|
||||||
#
|
#
|
||||||
# # A multi-line entry. The text is sent as one line.
|
# # A multi-line entry. The text is sent as one line.
|
||||||
# #
|
# #
|
||||||
# /^noddy@connect\.com\.au$/
|
# /^noddy@connect.com.au$/
|
||||||
# \ 550 This user is a funny one. You really don't want to send mail to
|
# 550 This user is a funny one. You really don't want to send mail to
|
||||||
# \ them as it only makes their head spin.
|
# them as it only makes their head spin.
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# regexp_table(5) format of POSIX regular expression tables
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# The PCRE table lookup code was originally written by:
|
# The PCRE table lookup code was originally written by:
|
||||||
# Andrew McNamara
|
# Andrew McNamara
|
||||||
# andrewm@connect.com.au
|
# andrewm@connect.com.au
|
||||||
# connect.com.au Pty. Ltd.
|
# connect.com.au Pty. Ltd.
|
||||||
# Level 3, 213 Miller St
|
# Level 3, 213 Miller St
|
||||||
# North Sydney, NSW, Australia
|
# North Sydney, NSW, Australia
|
||||||
#
|
#
|
||||||
# Adopted and adapted by:
|
# Adopted and adapted by:
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 2
|
||||||
|
#
|
||||||
|
@@ -1,83 +1,101 @@
|
|||||||
#++
|
#
|
||||||
|
# REGEXP_TABLE(5) REGEXP_TABLE(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# regexp_table 5
|
# regexp_table - format of Postfix regular expression tables
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix regular expression tables
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# regexp:/etc/postfix/filename
|
# regexp:/etc/postfix/filename
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The Postfix mail system uses optional tables for address
|
# The Postfix mail system uses optional tables for address
|
||||||
# rewriting or mail routing. These tables usually are in
|
# rewriting or mail routing. These tables are usually in dbm
|
||||||
# \fBdbm\fR or \fBdb\fR format. Alternatively, lookup tables
|
# or db format. Alternatively, lookup tables can be speci-
|
||||||
# can be specified in POSIX regular expression form.
|
# fied in POSIX regular expression form.
|
||||||
#
|
#
|
||||||
# To find out what types of lookup tables your Postfix system
|
# To find out what types of lookup tables your Postfix sys-
|
||||||
# supports use the \fBpostconf -m\fR command.
|
# tem supports use the postconf -m command.
|
||||||
#
|
#
|
||||||
# The general form of a Postfix regular expression table is:
|
# The general form of a Postfix regular expression table is:
|
||||||
# .IP "blanks and comments"
|
#
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# blanks and comments
|
||||||
# .IP "\fIpattern result\fR"
|
# Blank lines are ignored, as are lines beginning
|
||||||
# When \fIpattern\fR matches a search string, use the corresponding
|
# with `#'.
|
||||||
# \fIresult\fR. A line that starts with white space continues the
|
#
|
||||||
# preceding line.
|
# pattern result
|
||||||
# .IP "\fIpattern1!pattern2 result\fR"
|
# When pattern matches a search string, use the cor-
|
||||||
# Matches \fIpattern1\fR but not \fIpattern2\fR.
|
# responding result. A line that starts with white
|
||||||
# .PP
|
# space continues the preceding line.
|
||||||
# Each pattern is a regular expression enclosed by a pair of delimiters.
|
#
|
||||||
# The regular expression syntax is described in \fIre_format\fR(7).
|
# pattern1!pattern2 result
|
||||||
# The expression delimiter can be any character, except whitespace
|
# Matches pattern1 but not pattern2.
|
||||||
# or characters that have special meaning (traditionally the forward
|
#
|
||||||
# slash is used). The regular expression can contain whitespace.
|
# Each pattern is a regular expression enclosed by a pair of
|
||||||
#
|
# delimiters. The regular expression syntax is described in
|
||||||
# By default, matching is case-insensitive, although following
|
# re_format(7). The expression delimiter can be any charac-
|
||||||
# the second slash with an `i' flag will reverse this. Other flags
|
# ter, except whitespace or characters that have special
|
||||||
# are `x' (disable extended expression syntax), and `m' (enable
|
# meaning (traditionally the forward slash is used). The
|
||||||
# multi-line mode).
|
# regular expression can contain whitespace.
|
||||||
#
|
#
|
||||||
# Each pattern is applied to the entire string being looked up.
|
# By default, matching is case-insensitive, although follow-
|
||||||
# Depending on the application, that string is an entire client
|
# ing the second slash with an `i' flag will reverse this.
|
||||||
# hostname, an entire client IP address, or an entire mail address.
|
# Other flags are `x' (disable extended expression syntax),
|
||||||
# Thus, no parent domain or parent network search is done, and
|
# and `m' (enable multi-line mode).
|
||||||
# \fIuser@domain\fR mail addresses are not broken up into their
|
#
|
||||||
# \fIuser\fR and \fIdomain\fR constituent parts, nor is \fIuser+foo\fR
|
# Each pattern is applied to the entire string being looked
|
||||||
# broken up into \fIuser\fR and \fIfoo\fR.
|
# up. Depending on the application, that string is an
|
||||||
#
|
# entire client hostname, an entire client IP address, or an
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# entire mail address. Thus, no parent domain or parent
|
||||||
# pattern is found that matches the search string.
|
# network search is done, and user@domain mail addresses are
|
||||||
#
|
# not broken up into their user and domain constituent
|
||||||
# Substitution of sub-strings from the matched expression is
|
# parts, nor is user+foo broken up into user and foo.
|
||||||
# possible using $1, $2, etc.. The macros in the replacement string
|
#
|
||||||
# may need to be written as ${n} or $(n) if they aren't followed
|
# Patterns are applied in the order as specified in the
|
||||||
# by whitespace.
|
# table, until a pattern is found that matches the search
|
||||||
|
# string.
|
||||||
|
#
|
||||||
|
# Substitution of sub-strings from the matched expression is
|
||||||
|
#
|
||||||
|
# 1
|
||||||
|
#
|
||||||
|
# REGEXP_TABLE(5) REGEXP_TABLE(5)
|
||||||
|
#
|
||||||
|
# possible using $1, $2, etc.. The macros in the replacement
|
||||||
|
# string may need to be written as ${n} or $(n) if they
|
||||||
|
# aren't followed by whitespace.
|
||||||
|
#
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
# # Disallow sender-specified routing. This is a must if you relay mail
|
# # Disallow sender-specified routing. This is a must if you relay mail
|
||||||
# # for other domains.
|
# # for other domains.
|
||||||
# /[%!@].*[%!@]/ 550 Sender-specified routing rejected
|
# /[%!@].*[%!@]/ 550 Sender-specified routing rejected
|
||||||
#
|
#
|
||||||
# # Postmaster is OK, that way they can talk to us about how to fix
|
# # Postmaster is OK, that way they can talk to us about how to fix
|
||||||
# # their problem.
|
# # their problem.
|
||||||
# /^postmaster@.*$/ OK
|
# /^postmaster@.*$/ OK
|
||||||
#
|
#
|
||||||
# # Protect your outgoing majordomo exploders
|
# # Protect your outgoing majordomo exploders
|
||||||
# /^(.*)-outgoing@(.*)$/!/^owner-.*/ 550 Use ${1}@${2} instead
|
# /^(.*)-outgoing@(.*)$/!/^owner-.*/ 550 Use ${1}@${2} instead
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# pcre_table(5) format of PCRE tables
|
# pcre_table(5) format of PCRE tables
|
||||||
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# The regexp table lookup code was originally written by:
|
# The regexp table lookup code was originally written by:
|
||||||
# LaMont Jones
|
# LaMont Jones
|
||||||
# lamont@hp.com
|
# lamont@hp.com
|
||||||
#
|
#
|
||||||
# That code was based on the PCRE dictionary contributed by:
|
# That code was based on the PCRE dictionary contributed by:
|
||||||
# Andrew McNamara
|
# Andrew McNamara
|
||||||
# andrewm@connect.com.au
|
# andrewm@connect.com.au
|
||||||
# connect.com.au Pty. Ltd.
|
# connect.com.au Pty. Ltd.
|
||||||
# Level 3, 213 Miller St
|
# Level 3, 213 Miller St
|
||||||
# North Sydney, NSW, Australia
|
# North Sydney, NSW, Australia
|
||||||
#
|
#
|
||||||
# Adopted and adapted by:
|
# Adopted and adapted by:
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 2
|
||||||
|
#
|
||||||
|
@@ -1,112 +1,136 @@
|
|||||||
#++
|
#
|
||||||
|
# RELOCATED(5) RELOCATED(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# relocated 5
|
# relocated - format of Postfix relocated table
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix relocated table
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# \fBpostmap /etc/postfix/relocated\fR
|
# postmap /etc/postfix/relocated
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The optional \fBrelocated\fR file provides the information that is
|
# The optional relocated file provides the information that
|
||||||
# used in "user has moved to \fInew_location\fR" bounce messages.
|
# is used in "user has moved to new_location" bounce mes-
|
||||||
#
|
# sages.
|
||||||
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
#
|
||||||
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
# Normally, the file serves as input to the postmap(1) com-
|
||||||
# is used for fast searching by the mail system. After an update
|
# mand. The result, an indexed file in dbm or db format, is
|
||||||
# issue a \fBpostfix reload\fR command to make the change visible.
|
# used for fast searching by the mail system. After an
|
||||||
#
|
# update issue a postfix reload command to make the change
|
||||||
# When the table is provided via other means such as NIS, LDAP
|
# visible.
|
||||||
# or SQL, the same lookups are done as for ordinary indexed files.
|
#
|
||||||
#
|
# When the table is provided via other means such as NIS,
|
||||||
# Alternatively, the table can be provided as a regular-expression
|
# LDAP or SQL, the same lookups are done as for ordinary
|
||||||
# map where patterns are given as regular expressions. In that case,
|
# indexed files.
|
||||||
# the lookups are done in a slightly different way as described below.
|
#
|
||||||
#
|
# Alternatively, the table can be provided as a regular-
|
||||||
# Table lookups are case insensitive.
|
# expression map where patterns are given as regular expres-
|
||||||
|
# sions. In that case, the lookups are done in a slightly
|
||||||
|
# different way as described below.
|
||||||
|
#
|
||||||
|
# Table lookups are case insensitive.
|
||||||
|
#
|
||||||
# TABLE FORMAT
|
# TABLE FORMAT
|
||||||
# .ad
|
# The format of the table is as follows:
|
||||||
# .fi
|
#
|
||||||
# The format of the table is as follows:
|
# o Blank lines are ignored, as are lines beginning
|
||||||
# .IP \(bu
|
# with `#'.
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
#
|
||||||
# .IP \(bu
|
# o An entry has one of the following form:
|
||||||
# An entry has one of the following form:
|
# key new_location
|
||||||
# .ti +5
|
# Where new_location specifies contact information
|
||||||
# \fIkey new_location\fR
|
# such as an email address, or perhaps a street
|
||||||
# .br
|
# address or telephone number.
|
||||||
# Where \fInew_location\fR specifies contact information such as
|
#
|
||||||
# an email address, or perhaps a street address or telephone number.
|
# With lookups from indexed files such as DB or DBM, or from
|
||||||
# .PP
|
# networked tables such as NIS, LDAP or SQL, the key field
|
||||||
# With lookups from indexed files such as DB or DBM, or from networked
|
# is one of the following:
|
||||||
# tables such as NIS, LDAP or SQL, the \fIkey\fR field is one of the
|
#
|
||||||
# following:
|
# user@domain
|
||||||
# .IP \fIuser\fR@\fIdomain\fR
|
# Matches user@domain. This form has precedence over
|
||||||
# Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all
|
# all other forms.
|
||||||
# other forms.
|
#
|
||||||
# .IP \fIuser\fR
|
# user Matches user@site when site is $myorigin, when site
|
||||||
# Matches \fIuser\fR@\fIsite\fR when \fIsite\fR is $\fBmyorigin\fR,
|
# is listed in $mydestination, or when site is listed
|
||||||
# when \fIsite\fR is listed in $\fBmydestination\fR, or when \fIsite\fR
|
# in $inet_interfaces.
|
||||||
# is listed in $\fBinet_interfaces\fR.
|
#
|
||||||
# .IP @\fIdomain\fR
|
# @domain
|
||||||
# Matches every address in \fIdomain\fR. This form has the lowest
|
# Matches every address in domain. This form has the
|
||||||
# precedence.
|
#
|
||||||
|
# 1
|
||||||
|
#
|
||||||
|
# RELOCATED(5) RELOCATED(5)
|
||||||
|
#
|
||||||
|
# lowest precedence.
|
||||||
|
#
|
||||||
# ADDRESS EXTENSION
|
# ADDRESS EXTENSION
|
||||||
# .fi
|
# When the search fails, and the address localpart contains
|
||||||
# .ad
|
# the optional recipient delimiter (e.g., user+foo@domain),
|
||||||
# When the search fails, and the address localpart contains the
|
# the search is repeated for the unextended address (e.g.
|
||||||
# optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR),
|
# user@domain).
|
||||||
# the search is repeated for the unextended address (e.g.
|
#
|
||||||
# \fIuser\fR@\fIdomain\fR).
|
|
||||||
# REGULAR EXPRESSION TABLES
|
# REGULAR EXPRESSION TABLES
|
||||||
# .ad
|
# This section describes how the table lookups change when
|
||||||
# .fi
|
# the table is given in the form of regular expressions. For
|
||||||
# This section describes how the table lookups change when the table
|
# a description of regular expression lookup table syntax,
|
||||||
# is given in the form of regular expressions. For a description of
|
# see regexp_table(5) or pcre_table(5).
|
||||||
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
#
|
||||||
# or \fBpcre_table\fR(5).
|
# Each pattern is a regular expression that is applied to
|
||||||
#
|
# the entire address being looked up. Thus, user@domain mail
|
||||||
# Each pattern is a regular expression that is applied to the entire
|
# addresses are not broken up into their user and @domain
|
||||||
# address being looked up. Thus, \fIuser@domain\fR mail addresses are not
|
# constituent parts, nor is user+foo broken up into user and
|
||||||
# broken up into their \fIuser\fR and \fI@domain\fR constituent parts,
|
# foo.
|
||||||
# nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR.
|
#
|
||||||
#
|
# Patterns are applied in the order as specified in the
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# table, until a pattern is found that matches the search
|
||||||
# pattern is found that matches the search string.
|
# string.
|
||||||
#
|
#
|
||||||
# Results are the same as with normal indexed file lookups, with
|
# Results are the same as with normal indexed file lookups,
|
||||||
# the additional feature that parenthesized substrings from the
|
# with the additional feature that parenthesized substrings
|
||||||
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
# from the pattern can be interpolated as $1, $2 and so on.
|
||||||
|
#
|
||||||
# BUGS
|
# BUGS
|
||||||
# The table format does not understand quoting conventions.
|
# The table format does not understand quoting conventions.
|
||||||
|
#
|
||||||
# CONFIGURATION PARAMETERS
|
# CONFIGURATION PARAMETERS
|
||||||
# .ad
|
# The following main.cf parameters are especially relevant
|
||||||
# .fi
|
# to this topic. See the Postfix main.cf file for syntax
|
||||||
# The following \fBmain.cf\fR parameters are especially relevant to
|
# details and for default values. Use the postfix reload
|
||||||
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
# command after a configuration change.
|
||||||
# and for default values. Use the \fBpostfix reload\fR command after
|
#
|
||||||
# a configuration change.
|
# relocated_maps
|
||||||
# .IP \fBrelocated_maps\fR
|
# List of lookup tables for relocated users or sites.
|
||||||
# List of lookup tables for relocated users or sites.
|
#
|
||||||
# .PP
|
# Other parameters of interest:
|
||||||
# Other parameters of interest:
|
#
|
||||||
# .IP \fBinet_interfaces\fR
|
# inet_interfaces
|
||||||
# The network interface addresses that this system receives mail on.
|
# The network interface addresses that this system
|
||||||
# .IP \fBmydestination\fR
|
# receives mail on.
|
||||||
# List of domains that this mail system considers local.
|
#
|
||||||
# .IP \fBmyorigin\fR
|
# mydestination
|
||||||
# The domain that is appended to locally-posted mail.
|
# List of domains that this mail system considers
|
||||||
|
# local.
|
||||||
|
#
|
||||||
|
# myorigin
|
||||||
|
# The domain that is appended to locally-posted mail.
|
||||||
|
#
|
||||||
|
# 2
|
||||||
|
#
|
||||||
|
# RELOCATED(5) RELOCATED(5)
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# postmap(1) create lookup table
|
# postmap(1) create lookup table
|
||||||
# pcre_table(5) format of PCRE tables
|
# pcre_table(5) format of PCRE tables
|
||||||
# regexp_table(5) format of POSIX regular expression tables
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
#
|
||||||
# LICENSE
|
# LICENSE
|
||||||
# .ad
|
# The Secure Mailer license must be distributed with this
|
||||||
# .fi
|
# software.
|
||||||
# The Secure Mailer license must be distributed with this software.
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 3
|
||||||
# By default, this file is not used. See sample-relocated.cf
|
#
|
||||||
|
@@ -1,158 +1,175 @@
|
|||||||
#++
|
#
|
||||||
|
# TRANSPORT(5) TRANSPORT(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# transport 5
|
# transport - format of Postfix transport table
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix transport table
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# \fBpostmap /etc/postfix/transport\fR
|
# postmap /etc/postfix/transport
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The optional \fBtransport\fR file specifies a mapping from domain
|
# The optional transport file specifies a mapping from
|
||||||
# hierarchies to message delivery transports and/or relay hosts. The
|
# domain hierarchies to message delivery transports and/or
|
||||||
# mapping is used by the \fBtrivial-rewrite\fR(8) daemon.
|
# relay hosts. The mapping is used by the trivial-rewrite(8)
|
||||||
#
|
# daemon.
|
||||||
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
#
|
||||||
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used
|
# Normally, the file serves as input to the postmap(1) com-
|
||||||
# for fast searching by the mail system. After updating this table,
|
# mand. The result, an indexed file in dbm or db format, is
|
||||||
# issue the \fBpostfix reload\fR command to make the change visible.
|
# used for fast searching by the mail system. After updating
|
||||||
#
|
# this table, issue the postfix reload command to make the
|
||||||
# When the table is provided via other means such as NIS, LDAP
|
# change visible.
|
||||||
# or SQL, the same lookups are done as for ordinary indexed files.
|
#
|
||||||
#
|
# When the table is provided via other means such as NIS,
|
||||||
# Alternatively, the table can be provided as a regular-expression
|
# LDAP or SQL, the same lookups are done as for ordinary
|
||||||
# map where patterns are given as regular expressions. In that case,
|
# indexed files.
|
||||||
# the lookups are done in a slightly different way as described below.
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-
|
||||||
|
# expression map where patterns are given as regular expres-
|
||||||
|
# sions. In that case, the lookups are done in a slightly
|
||||||
|
# different way as described below.
|
||||||
|
#
|
||||||
# TABLE FORMAT
|
# TABLE FORMAT
|
||||||
# .ad
|
# The format of the transport table is as follows:
|
||||||
# .fi
|
#
|
||||||
# The format of the transport table is as follows:
|
# blanks and comments
|
||||||
# .IP "blanks and comments"
|
# Blank lines are ignored, as are lines beginning
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# with `#'.
|
||||||
# .IP "\fIpattern result\fR"
|
#
|
||||||
# When \fIpattern\fR matches the domain, use the corresponding
|
# pattern result
|
||||||
# \fIresult\fR.
|
# When pattern matches the domain, use the corre-
|
||||||
# .PP
|
# sponding result.
|
||||||
# With lookups from indexed files such as DB or DBM, or from networked
|
#
|
||||||
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
# With lookups from indexed files such as DB or DBM, or from
|
||||||
# listed below:
|
# networked tables such as NIS, LDAP or SQL, patterns are
|
||||||
# .IP "\fIdomain transport\fR:\fInexthop\fR"
|
# tried in the order as listed below:
|
||||||
# Mail for \fIdomain\fR is delivered through \fItransport\fR to
|
#
|
||||||
# \fInexthop\fR.
|
# domain transport:nexthop
|
||||||
# .IP "\fI.domain transport\fR:\fInexthop\fR"
|
# Mail for domain is delivered through transport to
|
||||||
# Mail for any subdomain of \fIdomain\fR is delivered through
|
# nexthop.
|
||||||
# \fItransport\fR to \fInexthop\fR.
|
#
|
||||||
# .PP
|
# .domain transport:nexthop
|
||||||
# Note: transport map entries take precedence over domains
|
# Mail for any subdomain of domain is delivered
|
||||||
# specified in the \fBmydestination\fR parameter. If you use
|
# through transport to nexthop.
|
||||||
# the optional transport map, it may be safer to specify explicit
|
#
|
||||||
# entries for all domains specified in \fBmydestination\fR,
|
# Note: transport map entries take precedence over domains
|
||||||
# for example:
|
# specified in the mydestination parameter. If you use the
|
||||||
#
|
# optional transport map, it may be safer to specify
|
||||||
# .ti +5
|
# explicit entries for all domains specified in
|
||||||
# \fBhostname.my.domain local:\fR
|
#
|
||||||
# .ti +5
|
# 1
|
||||||
# \fBlocalhost.my.domain local:\fR
|
#
|
||||||
#
|
# TRANSPORT(5) TRANSPORT(5)
|
||||||
# The interpretation of the \fInexthop\fR field is transport
|
#
|
||||||
# dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
|
# mydestination, for example:
|
||||||
# non-default server port, and use [\fIhost\fR] or [\fIhost\fR:\fIport\fR]
|
#
|
||||||
# in order to disable MX (mail exchanger) DNS lookups. The [] form
|
# hostname.my.domain local:
|
||||||
# can also be used with IP addresses instead of hostnames.
|
# localhost.my.domain local:
|
||||||
|
#
|
||||||
|
# The interpretation of the nexthop field is transport
|
||||||
|
# dependent. In the case of SMTP, specify host:service for a
|
||||||
|
# non-default server port, and use [host] or [host:port] in
|
||||||
|
# order to disable MX (mail exchanger) DNS lookups. The []
|
||||||
|
# form can also be used with IP addresses instead of host-
|
||||||
|
# names.
|
||||||
|
#
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
# .ad
|
# In order to send mail for foo.org and its subdomains
|
||||||
# In order to send mail for \fBfoo.org\fR and its subdomains
|
# via the uucp transport to the UUCP host named foo:
|
||||||
# via the \fBuucp\fR transport to the UUCP host named \fBfoo\fR:
|
#
|
||||||
#
|
# foo.org uucp:foo
|
||||||
# .ti +5
|
# .foo.org uucp:foo
|
||||||
# \fBfoo.org uucp:foo\fR
|
#
|
||||||
# .ti +5
|
# When no nexthop host name is specified, the destination domain
|
||||||
# \fB\&.foo.org uucp:foo\fR
|
# name is used instead. For example, the following directs mail for
|
||||||
#
|
# user@foo.org via the slow transport to a mail
|
||||||
# When no \fInexthop\fR host name is specified, the destination domain
|
# exchanger for foo.org. The slow transport could be
|
||||||
# name is used instead. For example, the following directs mail for
|
# something that runs at most one delivery process at a time:
|
||||||
# \fIuser\fR@\fBfoo.org\fR via the \fBslow\fR transport to a mail
|
#
|
||||||
# exchanger for \fBfoo.org\fR. The \fBslow\fR transport could be
|
# foo.org slow:
|
||||||
# something that runs at most one delivery process at a time:
|
#
|
||||||
#
|
# When no transport is specified, the default transport is
|
||||||
# .ti +5
|
# used, as specified via the default_transport configuration
|
||||||
# \fBfoo.org slow:\fR
|
# parameter. The following sends all mail for foo.org and its
|
||||||
#
|
# subdomains to host gateway.foo.org:
|
||||||
# When no \fItransport\fR is specified, the default transport is
|
#
|
||||||
# used, as specified via the \fBdefault_transport\fR configuration
|
# foo.org :[gateway.foo.org]
|
||||||
# parameter. The following sends all mail for \fBfoo.org\fR and its
|
# .foo.org :[gateway.foo.org]
|
||||||
# subdomains to host \fBgateway.foo.org\fR:
|
#
|
||||||
#
|
# In the above example, the [] are used to suppress MX lookups.
|
||||||
# .ti +5
|
# The result would likely point to your local machine.
|
||||||
# \fBfoo.org :[gateway.foo.org]\fR
|
#
|
||||||
# .ti +5
|
# In the case of delivery via SMTP, one may specify
|
||||||
# \fB\&.foo.org :[gateway.foo.org]\fR
|
# hostname:service instead of just a host:
|
||||||
#
|
#
|
||||||
# In the above example, the [] are used to suppress MX lookups.
|
# foo.org smtp:bar.org:2025
|
||||||
# The result would likely point to your local machine.
|
#
|
||||||
#
|
# This directs mail for user@foo.org to host bar.org
|
||||||
# In the case of delivery via SMTP, one may specify
|
# port 2025. Instead of a numerical port a symbolic name may be
|
||||||
# \fIhostname\fR:\fIservice\fR instead of just a host:
|
# used. Specify [] around the destination in order to disable MX lookups.
|
||||||
#
|
#
|
||||||
# .ti +5
|
# The error mailer can be used to bounce mail:
|
||||||
# \fBfoo.org smtp:bar.org:2025\fR
|
#
|
||||||
#
|
# .foo.org error:mail for *.foo.org is not deliverable
|
||||||
# This directs mail for \fIuser\fR@\fBfoo.org\fR to host \fBbar.org\fR
|
#
|
||||||
# port \fB2025\fR. Instead of a numerical port a symbolic name may be
|
# This causes all mail for user@anythingfoo.org
|
||||||
# used. Specify [] around the destination in order to disable MX lookups.
|
# to be bounced.
|
||||||
#
|
#
|
||||||
# The error mailer can be used to bounce mail:
|
# 2
|
||||||
#
|
#
|
||||||
# .ti +5
|
# TRANSPORT(5) TRANSPORT(5)
|
||||||
# \fB\&.foo.org error:mail for *.foo.org is not deliverable\fR
|
#
|
||||||
#
|
|
||||||
# This causes all mail for \fIuser\fR@\fIanything\fBfoo.org\fR
|
|
||||||
# to be bounced.
|
|
||||||
# REGULAR EXPRESSION TABLES
|
# REGULAR EXPRESSION TABLES
|
||||||
# .ad
|
# This section describes how the table lookups change when
|
||||||
# .fi
|
# the table is given in the form of regular expressions. For
|
||||||
# This section describes how the table lookups change when the table
|
# a description of regular expression lookup table syntax,
|
||||||
# is given in the form of regular expressions. For a description of
|
# see regexp_table(5) or pcre_table(5).
|
||||||
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
#
|
||||||
# or \fBpcre_table\fR(5).
|
# Each pattern is a regular expression that is applied to
|
||||||
#
|
# the entire domain being looked up. Thus, some.domain.hier-
|
||||||
# Each pattern is a regular expression that is applied to the entire
|
# archy is not broken up into parent domains.
|
||||||
# domain being looked up. Thus, \fIsome.domain.hierarchy\fR is not
|
#
|
||||||
# broken up into parent domains.
|
# Patterns are applied in the order as specified in the
|
||||||
#
|
# table, until a pattern is found that matches the search
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# string.
|
||||||
# pattern is found that matches the search string.
|
#
|
||||||
#
|
# Results are the same as with normal indexed file lookups,
|
||||||
# Results are the same as with normal indexed file lookups, with
|
# with the additional feature that parenthesized substrings
|
||||||
# the additional feature that parenthesized substrings from the
|
# from the pattern can be interpolated as $1, $2 and so on.
|
||||||
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
#
|
||||||
# CONFIGURATION PARAMETERS
|
# CONFIGURATION PARAMETERS
|
||||||
# .ad
|
# The following main.cf parameters are especially relevant
|
||||||
# .fi
|
# to this topic. See the Postfix main.cf file for syntax
|
||||||
# The following \fBmain.cf\fR parameters are especially relevant to
|
# details and for default values. Use the postfix reload
|
||||||
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
# command after a configuration change.
|
||||||
# and for default values. Use the \fBpostfix reload\fR command after
|
#
|
||||||
# a configuration change.
|
# transport_maps
|
||||||
# .IP \fBtransport_maps\fR
|
# List of transport lookup tables.
|
||||||
# List of transport lookup tables.
|
#
|
||||||
# .PP
|
# Other parameters of interest:
|
||||||
# Other parameters of interest:
|
#
|
||||||
# .IP \fBdefault_transport\fR
|
# default_transport
|
||||||
# The transport to use when no transport is explicitly specified.
|
# The transport to use when no transport is explic-
|
||||||
# .IP \fBrelayhost\fR
|
# itly specified.
|
||||||
# The default host to send to when no transport table entry matches.
|
#
|
||||||
|
# relayhost
|
||||||
|
# The default host to send to when no transport table
|
||||||
|
# entry matches.
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# postmap(1) create mapping table
|
# postmap(1) create mapping table
|
||||||
# trivial-rewrite(8) rewrite and resolve addresses
|
# trivial-rewrite(8) rewrite and resolve addresses
|
||||||
# pcre_table(5) format of PCRE tables
|
# pcre_table(5) format of PCRE tables
|
||||||
# regexp_table(5) format of POSIX regular expression tables
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
#
|
||||||
# LICENSE
|
# LICENSE
|
||||||
# .ad
|
# The Secure Mailer license must be distributed with this
|
||||||
# .fi
|
# software.
|
||||||
# The Secure Mailer license must be distributed with this software.
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 3
|
||||||
# By default, this file is not used. See sample-transport.cf
|
#
|
||||||
|
@@ -1,142 +1,170 @@
|
|||||||
#++
|
#
|
||||||
|
# VIRTUAL(5) VIRTUAL(5)
|
||||||
|
#
|
||||||
# NAME
|
# NAME
|
||||||
# virtual 5
|
# virtual - format of Postfix virtual table
|
||||||
# SUMMARY
|
#
|
||||||
# format of Postfix virtual table
|
|
||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
# \fBpostmap /etc/postfix/virtual\fR
|
# postmap /etc/postfix/virtual
|
||||||
|
#
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
# The optional \fBvirtual\fR table specifies redirections for local
|
# The optional virtual table specifies redirections for
|
||||||
# and non-local recipients or domains. The redirections are used by
|
# local and non-local recipients or domains. The redirec-
|
||||||
# the \fBcleanup\fR(8) daemon. The redirections are recursive.
|
# tions are used by the cleanup(8) daemon. The redirections
|
||||||
#
|
# are recursive.
|
||||||
# The \fBvirtual\fR redirection is applied only to the recipient
|
#
|
||||||
# envelope address, and does not affect message headers.
|
# The virtual redirection is applied only to the recipient
|
||||||
# Think Sendmail rule set \fBS0\fR, if you like. Use \fBcanonical\fR(5)
|
# envelope address, and does not affect message headers.
|
||||||
# mapping to rewrite header and envelope addresses in general.
|
# Think Sendmail rule set S0, if you like. Use canonical(5)
|
||||||
#
|
# mapping to rewrite header and envelope addresses in gen-
|
||||||
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
# eral.
|
||||||
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
#
|
||||||
# is used for fast searching by the mail system. After an update
|
# Normally, the file serves as input to the postmap(1) com-
|
||||||
# it may take a minute or so before the change becomes visible.
|
# mand. The result, an indexed file in dbm or db format, is
|
||||||
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
# used for fast searching by the mail system. After an
|
||||||
#
|
# update it may take a minute or so before the change
|
||||||
# When the table is provided via other means such as NIS, LDAP
|
# becomes visible. Issue a postfix reload command to elimi-
|
||||||
# or SQL, the same lookups are done as for ordinary indexed files.
|
# nate the delay.
|
||||||
#
|
#
|
||||||
# Alternatively, the table can be provided as a regular-expression
|
# When the table is provided via other means such as NIS,
|
||||||
# map where patterns are given as regular expressions. In that case,
|
# LDAP or SQL, the same lookups are done as for ordinary
|
||||||
# the lookups are done in a slightly different way as described below.
|
# indexed files.
|
||||||
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-
|
||||||
|
# expression map where patterns are given as regular expres-
|
||||||
|
# sions. In that case, the lookups are done in a slightly
|
||||||
|
# different way as described below.
|
||||||
|
#
|
||||||
# TABLE FORMAT
|
# TABLE FORMAT
|
||||||
# .ad
|
# Typical support for a virtual domain looks like the fol-
|
||||||
# .fi
|
# lowing:
|
||||||
# Typical support for a virtual domain looks like the following:
|
#
|
||||||
#
|
# virtual.domain anything (right-hand content does not matter)
|
||||||
# .in +4
|
# user1@virtual.domain address1
|
||||||
# .nf
|
# user2@virtual.domain address2, address3
|
||||||
# \fIvirtual.domain anything\fR (right-hand content does not matter)
|
#
|
||||||
# \fIuser1@virtual.domain address1\fR
|
# With this, the SMTP server accepts mail for virtual.domain
|
||||||
# \fIuser2@virtual.domain address2, address3\fR
|
# and rejects mail for unknown@virtual.domain as undeliver-
|
||||||
# .fi
|
# able.
|
||||||
# .in -4
|
#
|
||||||
#
|
# The format of the virtual table is as follows, mappings
|
||||||
# With this, the SMTP server accepts mail for \fIvirtual.domain\fR and
|
# being tried in the order as listed in this manual page:
|
||||||
# rejects mail for \fIunknown\fR@\fIvirtual.domain\fR as undeliverable.
|
#
|
||||||
#
|
# blanks and comments
|
||||||
# The format of the virtual table is as follows, mappings being
|
# Blank lines are ignored, as are lines beginning
|
||||||
# tried in the order as listed in this manual page:
|
# with `#'.
|
||||||
# .IP "blanks and comments"
|
#
|
||||||
# Blank lines are ignored, as are lines beginning with `#'.
|
# 1
|
||||||
# .IP "\fIpattern result\fR"
|
#
|
||||||
# When \fIpattern\fR matches a mail address, replace it by the
|
# VIRTUAL(5) VIRTUAL(5)
|
||||||
# corresponding \fIresult\fR.
|
#
|
||||||
# .PP
|
# pattern result
|
||||||
# With lookups from indexed files such as DB or DBM, or from networked
|
# When pattern matches a mail address, replace it by
|
||||||
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
# the corresponding result.
|
||||||
# listed below:
|
#
|
||||||
# .IP "\fIuser\fR@\fIdomain address, address, ...\fR"
|
# With lookups from indexed files such as DB or DBM, or from
|
||||||
# Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
|
# networked tables such as NIS, LDAP or SQL, patterns are
|
||||||
# This form has the highest precedence.
|
# tried in the order as listed below:
|
||||||
# .IP "\fIuser address, address, ...\fR"
|
#
|
||||||
# Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
|
# user@domain address, address, ...
|
||||||
# \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
|
# Mail for user@domain is redirected to address.
|
||||||
# $\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
|
# This form has the highest precedence.
|
||||||
# .sp
|
#
|
||||||
# This functionality overlaps with functionality of the local
|
# user address, address, ...
|
||||||
# \fIalias\fR(5) database. The difference is that \fBvirtual\fR
|
# Mail for user@site is redirected to address when
|
||||||
# mapping can be applied to non-local addresses.
|
# site is equal to $myorigin, when site is listed in
|
||||||
# .IP "@\fIdomain address, address, ...\fR"
|
# $mydestination, or when it is listed in
|
||||||
# Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
|
# $inet_interfaces.
|
||||||
# This form has the lowest precedence.
|
#
|
||||||
# .PP
|
# This functionality overlaps with functionality of
|
||||||
# In all the above forms, when \fIaddress\fR has the form
|
# the local alias(5) database. The difference is that
|
||||||
# @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
|
# virtual mapping can be applied to non-local
|
||||||
# This works for the first address in the expansion only.
|
# addresses.
|
||||||
|
#
|
||||||
|
# @domain address, address, ...
|
||||||
|
# Mail for any user in domain is redirected to
|
||||||
|
# address. This form has the lowest precedence.
|
||||||
|
#
|
||||||
|
# In all the above forms, when address has the form @other-
|
||||||
|
# domain, the result is the same user in otherdomain. This
|
||||||
|
# works for the first address in the expansion only.
|
||||||
|
#
|
||||||
# ADDRESS EXTENSION
|
# ADDRESS EXTENSION
|
||||||
# .fi
|
# When the search fails, and the address localpart contains
|
||||||
# .ad
|
# the optional recipient delimiter (e.g., user+foo@domain),
|
||||||
# When the search fails, and the address localpart contains the
|
# the search is repeated for the unextended address (e.g.
|
||||||
# optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR),
|
# user@domain), and the unmatched address extension is prop-
|
||||||
# the search is repeated for the unextended address (e.g.
|
# agated to the result of expansion. The matching order is:
|
||||||
# \fIuser\fR@\fIdomain\fR), and the unmatched address extension is
|
# user+foo@domain, user@domain, user+foo, user, and @domain.
|
||||||
# propagated to the result of expansion. The matching order is:
|
#
|
||||||
# \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR,
|
|
||||||
# \fIuser+foo\fR, \fIuser\fR, and @\fIdomain\fR.
|
|
||||||
# REGULAR EXPRESSION TABLES
|
# REGULAR EXPRESSION TABLES
|
||||||
# .ad
|
# This section describes how the table lookups change when
|
||||||
# .fi
|
# the table is given in the form of regular expressions. For
|
||||||
# This section describes how the table lookups change when the table
|
# a description of regular expression lookup table syntax,
|
||||||
# is given in the form of regular expressions. For a description of
|
# see regexp_table(5) or pcre_table(5).
|
||||||
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
#
|
||||||
# or \fBpcre_table\fR(5).
|
# Each pattern is a regular expression that is applied to
|
||||||
#
|
# the entire address being looked up. Thus, user@domain mail
|
||||||
# Each pattern is a regular expression that is applied to the entire
|
# addresses are not broken up into their user and @domain
|
||||||
# address being looked up. Thus, \fIuser@domain\fR mail addresses are not
|
# constituent parts, nor is user+foo broken up into user and
|
||||||
# broken up into their \fIuser\fR and \fI@domain\fR constituent parts,
|
# foo.
|
||||||
# nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR.
|
#
|
||||||
#
|
# Patterns are applied in the order as specified in the
|
||||||
# Patterns are applied in the order as specified in the table, until a
|
# table, until a pattern is found that matches the search
|
||||||
# pattern is found that matches the search string.
|
# string.
|
||||||
#
|
#
|
||||||
# Results are the same as with normal indexed file lookups, with
|
# 2
|
||||||
# the additional feature that parenthesized substrings from the
|
#
|
||||||
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
# VIRTUAL(5) VIRTUAL(5)
|
||||||
|
#
|
||||||
|
# Results are the same as with normal indexed file lookups,
|
||||||
|
# with the additional feature that parenthesized substrings
|
||||||
|
# from the pattern can be interpolated as $1, $2 and so on.
|
||||||
|
#
|
||||||
# BUGS
|
# BUGS
|
||||||
# The table format does not understand quoting conventions.
|
# The table format does not understand quoting conventions.
|
||||||
|
#
|
||||||
# CONFIGURATION PARAMETERS
|
# CONFIGURATION PARAMETERS
|
||||||
# .ad
|
# The following main.cf parameters are especially relevant
|
||||||
# .fi
|
# to this topic. See the Postfix main.cf file for syntax
|
||||||
# The following \fBmain.cf\fR parameters are especially relevant to
|
# details and for default values. Use the postfix reload
|
||||||
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
# command after a configuration change.
|
||||||
# and for default values. Use the \fBpostfix reload\fR command after
|
#
|
||||||
# a configuration change.
|
# virtual_maps
|
||||||
# .IP \fBvirtual_maps\fR
|
# List of virtual mapping tables.
|
||||||
# List of virtual mapping tables.
|
#
|
||||||
# .PP
|
# Other parameters of interest:
|
||||||
# Other parameters of interest:
|
#
|
||||||
# .IP \fBinet_interfaces\fR
|
# inet_interfaces
|
||||||
# The network interface addresses that this system receives mail on.
|
# The network interface addresses that this system
|
||||||
# .IP \fBmydestination\fR
|
# receives mail on.
|
||||||
# List of domains that this mail system considers local.
|
#
|
||||||
# .IP \fBmyorigin\fR
|
# mydestination
|
||||||
# The domain that is appended to locally-posted mail.
|
# List of domains that this mail system considers
|
||||||
# .IP \fBowner_request_special\fR
|
# local.
|
||||||
# Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR
|
#
|
||||||
# addresses.
|
# myorigin
|
||||||
|
# The domain that is appended to locally-posted mail.
|
||||||
|
#
|
||||||
|
# owner_request_special
|
||||||
|
# Give special treatment to owner-xxx and xxx-request
|
||||||
|
# addresses.
|
||||||
|
#
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
# cleanup(8) canonicalize and enqueue mail
|
# cleanup(8) canonicalize and enqueue mail
|
||||||
# postmap(1) create mapping table
|
# postmap(1) create mapping table
|
||||||
# pcre_table(5) format of PCRE tables
|
# pcre_table(5) format of PCRE tables
|
||||||
# regexp_table(5) format of POSIX regular expression tables
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
#
|
||||||
# LICENSE
|
# LICENSE
|
||||||
# .ad
|
# The Secure Mailer license must be distributed with this
|
||||||
# .fi
|
# software.
|
||||||
# The Secure Mailer license must be distributed with this software.
|
#
|
||||||
# AUTHOR(S)
|
# AUTHOR(S)
|
||||||
# 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
|
||||||
#--
|
#
|
||||||
|
# 3
|
||||||
# By default, this file is not used. See sample-virtual.cf
|
#
|
||||||
|
1
postfix/dns/.indent.pro
vendored
1
postfix/dns/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/error/.indent.pro
vendored
1
postfix/error/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/fsstone/.indent.pro
vendored
1
postfix/fsstone/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/global/.indent.pro
vendored
1
postfix/global/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -30,11 +30,11 @@
|
|||||||
/*
|
/*
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
/* .IP class
|
/* .IP class
|
||||||
/* Name of a class of local transport channel endpoints,
|
/* Name of a class of local transport channel endpoints,
|
||||||
/* either \fIpublic\fR (accessible by any local user) or
|
/* either \fIpublic\fR (accessible by any local user) or
|
||||||
/* \fIprivate\fR (administrative access only).
|
/* \fIprivate\fR (administrative access only).
|
||||||
/* .IP service
|
/* .IP service
|
||||||
/* The name of a local transport endpoint within the named class.
|
/* The name of a local transport endpoint within the named class.
|
||||||
/* .IP block_mode
|
/* .IP block_mode
|
||||||
/* NON_BLOCKING for a non-blocking connection, or BLOCKING.
|
/* NON_BLOCKING for a non-blocking connection, or BLOCKING.
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
|
@@ -598,6 +598,10 @@ extern bool var_ign_mx_lookup_err;
|
|||||||
#define DEF_SKIP_QUIT_RESP 1
|
#define DEF_SKIP_QUIT_RESP 1
|
||||||
extern bool var_skip_quit_resp;
|
extern bool var_skip_quit_resp;
|
||||||
|
|
||||||
|
#define VAR_SMTP_ALWAYS_EHLO "smtp_always_send_ehlo"
|
||||||
|
#define DEF_SMTP_ALWAYS_EHLO 0
|
||||||
|
extern bool var_smtp_always_ehlo;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SMTP server. The soft error limit determines how many errors an SMTP
|
* SMTP server. The soft error limit determines how many errors an SMTP
|
||||||
* client may make before we start to slow down; the hard error limit
|
* client may make before we start to slow down; the hard error limit
|
||||||
|
@@ -44,12 +44,12 @@
|
|||||||
/* Anything else in a format string is a fatal error.
|
/* Anything else in a format string is a fatal error.
|
||||||
/* .RE
|
/* .RE
|
||||||
/* .IP letter
|
/* .IP letter
|
||||||
/* Format letter that is bound to the \fIscan_fn\fR input
|
/* Format letter that is bound to the \fIscan_fn\fR input
|
||||||
/* conversion function.
|
/* conversion function.
|
||||||
/* .IP name
|
/* .IP name
|
||||||
/* Descriptive string for verbose logging.
|
/* Descriptive string for verbose logging.
|
||||||
/* .IP scan_fn
|
/* .IP scan_fn
|
||||||
/* An input conversion function. It takes as arguments:
|
/* An input conversion function. It takes as arguments:
|
||||||
/* .RS
|
/* .RS
|
||||||
/* .IP string
|
/* .IP string
|
||||||
/* The null-terminated string to be converted.
|
/* The null-terminated string to be converted.
|
||||||
|
@@ -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-20000204"
|
#define DEF_MAIL_VERSION "Snapshot-20000309"
|
||||||
extern char *var_mail_version;
|
extern char *var_mail_version;
|
||||||
|
|
||||||
/* LICENSE
|
/* LICENSE
|
||||||
|
@@ -58,10 +58,13 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The record at the beginning of the envelope segment specifies the message
|
* The record at the beginning of the envelope segment specifies the message
|
||||||
* content size. This is the format of the position field. It is a
|
* content size, data offset, and recipient count. These are fixed-width
|
||||||
* fixed-width field so it can be updated in place.
|
* fields so they can be updated in place.
|
||||||
*/
|
*/
|
||||||
#define REC_TYPE_SIZE_FORMAT "%15ld" /* content size format */
|
#define REC_TYPE_SIZE_FORMAT "%15ld %15ld %15ld" /* size/count format */
|
||||||
|
#define REC_TYPE_SIZE_CAST1 long
|
||||||
|
#define REC_TYPE_SIZE_CAST2 long
|
||||||
|
#define REC_TYPE_SIZE_CAST3 long
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The record at the beginning of the message content records specifies the
|
* The record at the beginning of the message content records specifies the
|
||||||
@@ -69,14 +72,15 @@
|
|||||||
* field. It is a fixed-width field so it can be updated in place.
|
* field. It is a fixed-width field so it can be updated in place.
|
||||||
*/
|
*/
|
||||||
#define REC_TYPE_MESG_FORMAT "%15ld" /* message length format */
|
#define REC_TYPE_MESG_FORMAT "%15ld" /* message length format */
|
||||||
|
#define REC_TYPE_MESG_CAST long
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The warn record specifies when the next warning that the message
|
* The warn record specifies when the next warning that the message was
|
||||||
* was deferred should be sent. It is updated in place by qmgr, so
|
* deferred should be sent. It is updated in place by qmgr, so changing
|
||||||
* changing this value when there are deferred mesages in the queue
|
* this value when there are deferred mesages in the queue is dangerous!
|
||||||
* is dangerous!
|
|
||||||
*/
|
*/
|
||||||
#define REC_TYPE_WARN_FORMAT "%15ld" /* warning time format */
|
#define REC_TYPE_WARN_FORMAT "%15ld" /* warning time format */
|
||||||
|
#define REC_TYPE_WARN_CAST long
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Programmatic interface.
|
* Programmatic interface.
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
# For now, just hard-coded rules for daemons, commands, config files.
|
# For now, just hard-coded rules for daemons, commands, config files.
|
||||||
|
|
||||||
DAEMONS = bounce.8.html cleanup.8.html defer.8.html error.8.html local.8.html \
|
DAEMONS = bounce.8.html cleanup.8.html defer.8.html error.8.html local.8.html \
|
||||||
@@ -104,26 +106,26 @@ newaliases.1.html: sendmail.1.html
|
|||||||
rm -f $@
|
rm -f $@
|
||||||
ln -s $? $@
|
ln -s $? $@
|
||||||
|
|
||||||
access.5.html: ../conf/access
|
access.5.html: ../proto/access
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
aliases.5.html: ../conf/aliases
|
aliases.5.html: ../proto/aliases
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
canonical.5.html: ../conf/canonical
|
canonical.5.html: ../proto/canonical
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
pcre_table.5.html: ../conf/pcre_table
|
pcre_table.5.html: ../proto/pcre_table
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
regexp_table.5.html: ../conf/regexp_table
|
regexp_table.5.html: ../proto/regexp_table
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
relocated.5.html: ../conf/relocated
|
relocated.5.html: ../proto/relocated
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
transport.5.html: ../conf/transport
|
transport.5.html: ../proto/transport
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
|
||||||
virtual.5.html: ../conf/virtual
|
virtual.5.html: ../proto/virtual
|
||||||
srctoman - $? | nroff -man | man2html | postlink >$@
|
srctoman - $? | nroff -man | man2html | postlink >$@
|
||||||
|
@@ -1033,8 +1033,8 @@ LDAP or SQL.
|
|||||||
hash:/etc/postfix/restricted_senders
|
hash:/etc/postfix/restricted_senders
|
||||||
...other stuff...
|
...other stuff...
|
||||||
|
|
||||||
restriction_classes = local_only
|
smtpd_restriction_classes = local_only
|
||||||
local_only = check_recipient_access hash:/etc/postfix/local_domains, reject
|
local_only = check_sender_access hash:/etc/postfix/local_domains, reject
|
||||||
|
|
||||||
/etc/postfix/restricted_senders:
|
/etc/postfix/restricted_senders:
|
||||||
foo@domain local_only
|
foo@domain local_only
|
||||||
@@ -1053,7 +1053,7 @@ types Postfix supports, use the command <b>postconf -m</b>.
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
||||||
The <b>restriction_classes</b> verbiage exists so that Postfix can
|
The <b>smtpd_restriction_classes</b> verbiage exists so that Postfix can
|
||||||
open <b>/etc/postfix/local_domains.db</b> before entering a chroot
|
open <b>/etc/postfix/local_domains.db</b> before entering a chroot
|
||||||
jail, so it is only an artefact of implementation.
|
jail, so it is only an artefact of implementation.
|
||||||
|
|
||||||
|
@@ -34,16 +34,17 @@ MASTER(8) MASTER(8)
|
|||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
Read the <b>main.cf</b> and <b>master.cf</b> configuration files
|
Read the <b>main.cf</b> and <b>master.cf</b> configuration files
|
||||||
in the named directory.
|
in the named directory instead of the default con-
|
||||||
|
figuration directory.
|
||||||
|
|
||||||
<b>-D</b> After initialization, run a debugger on the master
|
<b>-D</b> After initialization, run a debugger on the master
|
||||||
process. The debugging command is specified with
|
process. The debugging command is specified with
|
||||||
the <b>debugger</b><i>_</i><b>command</b> in the <b>main.cf</b> global configu-
|
the <b>debugger</b><i>_</i><b>command</b> in the <b>main.cf</b> global configu-
|
||||||
ration file.
|
ration file.
|
||||||
|
|
||||||
<b>-t</b> Test mode. Return a zero exit status when the <b>mas-</b>
|
<b>-t</b> Test mode. Return a zero exit status when the <b>mas-</b>
|
||||||
<b>ter.pid</b> lock file does not exist or when that file
|
<b>ter.pid</b> lock file does not exist or when that file
|
||||||
is not locked. This is evidence that the <b>master</b>
|
is not locked. This is evidence that the <b>master</b>
|
||||||
daemon is not running.
|
daemon is not running.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. This
|
<b>-v</b> Enable verbose logging for debugging purposes. This
|
||||||
@@ -52,13 +53,12 @@ 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>
|
||||||
<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-
|
||||||
nated immediately. Otherwise, running processes
|
nated immediately. Otherwise, running processes
|
||||||
are allowed to terminate as soon as is convenient,
|
are allowed to terminate as soon as is convenient,
|
||||||
so that changes in configuration settings affect
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -71,14 +71,15 @@ MASTER(8) MASTER(8)
|
|||||||
MASTER(8) MASTER(8)
|
MASTER(8) MASTER(8)
|
||||||
|
|
||||||
|
|
||||||
|
so that changes in configuration settings affect
|
||||||
only new service requests.
|
only new service requests.
|
||||||
|
|
||||||
<b>SIGTERM</b>
|
<b>SIGTERM</b>
|
||||||
Upon receipt of a <b>TERM</b> signal (e.g., after <b>postfix</b>
|
Upon receipt of a <b>TERM</b> signal (e.g., after <b>postfix</b>
|
||||||
<b>abort</b>), the master process passes the signal on to
|
<b>abort</b>), the master process passes the signal on to
|
||||||
its child processes and terminates. This is useful
|
its child processes and terminates. This is useful
|
||||||
for an emergency shutdown. Normally one would ter-
|
for an emergency shutdown. Normally one would ter-
|
||||||
minate only the master (<b>postfix</b> <b>stop</b>) and allow
|
minate only the master (<b>postfix</b> <b>stop</b>) and allow
|
||||||
running processes to finish what they are doing.
|
running processes to finish what they are doing.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
@@ -88,21 +89,21 @@ MASTER(8) MASTER(8)
|
|||||||
<b>ENVIRONMENT</b>
|
<b>ENVIRONMENT</b>
|
||||||
<b>MAIL</b><i>_</i><b>DEBUG</b>
|
<b>MAIL</b><i>_</i><b>DEBUG</b>
|
||||||
After initialization, start a debugger as specified
|
After initialization, start a debugger as specified
|
||||||
with the <b>debugger</b><i>_</i><b>command</b> configuration parameter
|
with the <b>debugger</b><i>_</i><b>command</b> configuration parameter
|
||||||
in the <b>main.cf</b> configuration file.
|
in the <b>main.cf</b> configuration file.
|
||||||
|
|
||||||
<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.
|
||||||
|
|
||||||
<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
|
||||||
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.
|
||||||
|
|
||||||
<b>Miscellaneous</b>
|
<b>Miscellaneous</b>
|
||||||
<b>mail</b><i>_</i><b>owner</b>
|
<b>mail</b><i>_</i><b>owner</b>
|
||||||
The owner of the mail queue and of most Postfix
|
The owner of the mail queue and of most Postfix
|
||||||
processes.
|
processes.
|
||||||
|
|
||||||
<b>command</b><i>_</i><b>directory</b>
|
<b>command</b><i>_</i><b>directory</b>
|
||||||
@@ -112,22 +113,21 @@ MASTER(8) MASTER(8)
|
|||||||
Directory with Postfix daemon programs.
|
Directory with Postfix daemon programs.
|
||||||
|
|
||||||
<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
|
||||||
chrooted.
|
chrooted.
|
||||||
|
|
||||||
<b>Resource</b> <b>controls</b>
|
<b>Resource</b> <b>controls</b>
|
||||||
<b>default</b><i>_</i><b>process</b><i>_</i><b>limit</b>
|
<b>default</b><i>_</i><b>process</b><i>_</i><b>limit</b>
|
||||||
Default limit for the number of simultaneous child
|
Default limit for the number of simultaneous child
|
||||||
processes that provide a given service.
|
processes that provide a given service.
|
||||||
|
|
||||||
<b>max</b><i>_</i><b>idle</b>
|
<b>max</b><i>_</i><b>idle</b>
|
||||||
Limit the time in seconds that a child process
|
Limit the time in seconds that a child process
|
||||||
waits between service requests.
|
waits between service requests.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2
|
2
|
||||||
|
|
||||||
|
|
||||||
@@ -138,11 +138,11 @@ MASTER(8) MASTER(8)
|
|||||||
|
|
||||||
|
|
||||||
<b>max</b><i>_</i><b>use</b>
|
<b>max</b><i>_</i><b>use</b>
|
||||||
Limit the number of service requests handled by a
|
Limit the number of service requests handled by a
|
||||||
child process.
|
child process.
|
||||||
|
|
||||||
<b>service</b><i>_</i><b>throttle</b><i>_</i><b>time</b>
|
<b>service</b><i>_</i><b>throttle</b><i>_</i><b>time</b>
|
||||||
Time to avoid forking a server that appears to be
|
Time to avoid forking a server that appears to be
|
||||||
broken.
|
broken.
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
@@ -156,7 +156,7 @@ MASTER(8) MASTER(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>
|
||||||
|
@@ -9,7 +9,7 @@ POSTALIAS(1) POSTALIAS(1)
|
|||||||
postalias - Postfix alias database maintenance
|
postalias - Postfix alias database maintenance
|
||||||
|
|
||||||
<b>SYNOPSIS</b>
|
<b>SYNOPSIS</b>
|
||||||
<b>postalias</b> [<b>-Ninvw</b>] [<b>-c</b> <i>config_dir</i>] [<b>-q</b> <i>key</i>]
|
<b>postalias</b> [<b>-Ninvw</b>] [<b>-c</b> <i>config_dir</i>] [<b>-d</b> <i>key</i>] [<b>-q</b> <i>key</i>]
|
||||||
[<i>file_type</i>:]<i>file_name</i> ...
|
[<i>file_type</i>:]<i>file_name</i> ...
|
||||||
|
|
||||||
<b>DESCRIPTION</b>
|
<b>DESCRIPTION</b>
|
||||||
@@ -33,32 +33,32 @@ POSTALIAS(1) POSTALIAS(1)
|
|||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
Read the <b>main.cf</b> configuration file in the named
|
Read the <b>main.cf</b> configuration file in the named
|
||||||
|
directory instead of the default configuration
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
<b>-i</b> Incremental mode. Read entries from standard input
|
<b>-d</b> <i>key</i> Search the specified maps for <i>key</i> and remove one
|
||||||
|
entry per map. The exit status is non-zero if the
|
||||||
|
requested information was not found.
|
||||||
|
|
||||||
|
<b>-i</b> Incremental mode. Read entries from standard input
|
||||||
and do not truncate an existing database. By
|
and do not truncate an existing database. By
|
||||||
default, <b>postalias</b> creates a new database from the
|
default, <b>postalias</b> creates a new database from the
|
||||||
entries in <b>file</b><i>_</i><b>name</b>.
|
entries in <b>file</b><i>_</i><b>name</b>.
|
||||||
|
|
||||||
<b>-n</b> Don't include the terminating null character that
|
<b>-n</b> Don't include the terminating null character that
|
||||||
terminates lookup keys and values. By default,
|
terminates lookup keys and values. By default,
|
||||||
Postfix does whatever is the default for the host
|
Postfix does whatever is the default for the host
|
||||||
operating system.
|
operating system.
|
||||||
|
|
||||||
<b>-q</b> <i>key</i> Search the specified maps for <i>key</i> and print the
|
<b>-q</b> <i>key</i> Search the specified maps for <i>key</i> and print the
|
||||||
first value found on the standard output stream.
|
first value found on the standard output stream.
|
||||||
The exit status is non-zero if the requested infor-
|
The exit status is non-zero if the requested infor-
|
||||||
mation was not found.
|
mation was not found.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
<b>-w</b> Do not warn about duplicate entries; silently
|
|
||||||
ignore them.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -71,36 +71,45 @@ POSTALIAS(1) POSTALIAS(1)
|
|||||||
POSTALIAS(1) POSTALIAS(1)
|
POSTALIAS(1) POSTALIAS(1)
|
||||||
|
|
||||||
|
|
||||||
|
<b>-w</b> When updating a table, do not warn about duplicate
|
||||||
|
entries; silently ignore them.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
<i>file_type</i>
|
<i>file_type</i>
|
||||||
The type of database to be produced.
|
The type of database to be produced.
|
||||||
|
|
||||||
<b>btree</b> The output is a btree file, named
|
<b>btree</b> The output is a btree file, named
|
||||||
<i>file_name</i><b>.db</b>. This is available only on
|
|
||||||
systems with support for <b>db</b> databases.
|
|
||||||
|
|
||||||
<b>dbm</b> The output consists of two files, named
|
|
||||||
<i>file_name</i><b>.pag</b> and <i>file_name</i><b>.dir</b>. This is
|
|
||||||
available only on systems with support for
|
|
||||||
<b>dbm</b> databases.
|
|
||||||
|
|
||||||
<b>hash</b> The output is a hashed file, named
|
|
||||||
<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.
|
||||||
|
|
||||||
When no <i>file_type</i> is specified, the software uses
|
<b>dbm</b> The output consists of two files, named
|
||||||
the database type specified via the <b>database</b><i>_</i><b>type</b>
|
<i>file_name</i><b>.pag</b> and <i>file_name</i><b>.dir</b>. This is
|
||||||
configuration parameter. The default value for
|
available only on systems with support for
|
||||||
|
<b>dbm</b> databases.
|
||||||
|
|
||||||
|
<b>hash</b> The output is a hashed file, named
|
||||||
|
<i>file_name</i><b>.db</b>. This is available only on
|
||||||
|
systems with support for <b>db</b> databases.
|
||||||
|
|
||||||
|
When no <i>file_type</i> is specified, the software uses
|
||||||
|
the database type specified via the <b>database</b><i>_</i><b>type</b>
|
||||||
|
configuration parameter. The default value for
|
||||||
this parameter depends on the host environment.
|
this parameter depends on the host environment.
|
||||||
|
|
||||||
<i>file_name</i>
|
<i>file_name</i>
|
||||||
The name of the alias database source file when
|
The name of the alias database source file when
|
||||||
rebuilding a database.
|
rebuilding a database.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
Problems are logged to the standard error stream. No out-
|
Problems are logged to the standard error stream. No out-
|
||||||
put means no problems were detected. Duplicate entries are
|
put means no problems were detected. Duplicate entries are
|
||||||
skipped and are flagged with a warning.
|
skipped and are flagged with a warning.
|
||||||
|
|
||||||
|
<b>BUGS</b>
|
||||||
|
The "delete key" support is limited to one delete opera-
|
||||||
|
tion 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>
|
||||||
Directory with Postfix configuration files.
|
Directory with Postfix configuration files.
|
||||||
@@ -117,15 +126,6 @@ POSTALIAS(1) POSTALIAS(1)
|
|||||||
Default alias database type. On many UNIX systems,
|
Default alias database type. On many UNIX systems,
|
||||||
the default type is either <b>dbm</b> or <b>hash</b>.
|
the default type is either <b>dbm</b> or <b>hash</b>.
|
||||||
|
|
||||||
<b>STANDARDS</b>
|
|
||||||
RFC 822 (ARPA Internet Text Messages)
|
|
||||||
|
|
||||||
<b>SEE</b> <b>ALSO</b>
|
|
||||||
<a href="aliases.5.html">aliases(5)</a> format of alias database input file.
|
|
||||||
<a href="sendmail.1.html">sendmail(1)</a> mail posting and compatibility interface.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2
|
2
|
||||||
@@ -137,6 +137,13 @@ POSTALIAS(1) POSTALIAS(1)
|
|||||||
POSTALIAS(1) POSTALIAS(1)
|
POSTALIAS(1) POSTALIAS(1)
|
||||||
|
|
||||||
|
|
||||||
|
<b>STANDARDS</b>
|
||||||
|
RFC 822 (ARPA Internet Text Messages)
|
||||||
|
|
||||||
|
<b>SEE</b> <b>ALSO</b>
|
||||||
|
<a href="aliases.5.html">aliases(5)</a> format of alias database input file.
|
||||||
|
<a href="sendmail.1.html">sendmail(1)</a> mail posting and compatibility interface.
|
||||||
|
|
||||||
<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.
|
||||||
@@ -179,13 +186,6 @@ POSTALIAS(1) POSTALIAS(1)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -23,18 +23,19 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
The <b>main.cf</b> configuration file is in the named
|
The <b>main.cf</b> configuration file is in the named
|
||||||
|
directory instead of the default configuration
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
<b>-d</b> Print default parameter settings instead of actual
|
<b>-d</b> Print default parameter settings instead of actual
|
||||||
settings.
|
settings.
|
||||||
|
|
||||||
<b>-e</b> Edit the <b>main.cf</b> configuration file. The file is
|
<b>-e</b> Edit the <b>main.cf</b> configuration file. The file is
|
||||||
copied to a temporary file then renamed into place.
|
copied to a temporary file then renamed into place.
|
||||||
Parameters and values are specified on the command
|
Parameters and values are specified on the command
|
||||||
line. Use quotes in order to protect shell
|
line. Use quotes in order to protect shell
|
||||||
metacharacters and whitespace.
|
metacharacters and whitespace.
|
||||||
|
|
||||||
<b>-h</b> Show parameter values only, not the ``name = ''
|
<b>-h</b> Show parameter values only, not the ``name = ''
|
||||||
label that normally precedes the value.
|
label that normally precedes the value.
|
||||||
|
|
||||||
<b>-m</b> List the names of all supported lookup table types.
|
<b>-m</b> List the names of all supported lookup table types.
|
||||||
@@ -42,14 +43,14 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
<b>-n</b> Print non-default parameter settings only.
|
<b>-n</b> Print non-default parameter settings only.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
Problems are reported to the standard error stream.
|
Problems are reported to the standard error stream.
|
||||||
|
|
||||||
<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>
|
||||||
@@ -61,7 +62,6 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1
|
1
|
||||||
|
|
||||||
|
|
||||||
|
@@ -50,15 +50,15 @@ POSTFIX(1) POSTFIX(1)
|
|||||||
The following options are implemented:
|
The following options are implemented:
|
||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
The absolute path to a directory with Postfix con-
|
Read the <b>main.cf</b> and <b>master.cf</b> configuration files
|
||||||
figuration files. Use this to distinguish between
|
in the named directory instead of the default con-
|
||||||
multiple Postfix instances on the same host.
|
figuration directory. Use this to distinguish
|
||||||
|
between multiple Postfix instances on the same
|
||||||
|
host.
|
||||||
|
|
||||||
<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
|
||||||
parameter.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -71,6 +71,8 @@ POSTFIX(1) POSTFIX(1)
|
|||||||
POSTFIX(1) POSTFIX(1)
|
POSTFIX(1) POSTFIX(1)
|
||||||
|
|
||||||
|
|
||||||
|
parameter.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
@@ -126,8 +128,6 @@ POSTFIX(1) POSTFIX(1)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2
|
2
|
||||||
|
|
||||||
|
|
||||||
|
@@ -20,25 +20,26 @@ POSTKICK(1) POSTKICK(1)
|
|||||||
Options:
|
Options:
|
||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
Read configuration information from <b>main.cf</b> in the
|
Read the <b>main.cf</b> configuration file in the named
|
||||||
named configuration directory.
|
directory instead of the default configuration
|
||||||
|
directory.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
<i>class</i> Name of a class of local transport channel end-
|
<i>class</i> Name of a class of local transport channel end-
|
||||||
points, either <b>public</b> (accessible by any local
|
points, either <b>public</b> (accessible by any local
|
||||||
user) or <b>private</b> (administrative access only).
|
user) or <b>private</b> (administrative access only).
|
||||||
|
|
||||||
<i>service</i>
|
<i>service</i>
|
||||||
The name of a local transport endpoint within the
|
The name of a local transport endpoint within the
|
||||||
named class.
|
named class.
|
||||||
|
|
||||||
<i>request</i>
|
<i>request</i>
|
||||||
A string. The list of valid requests is service-
|
A string. The list of valid requests is service-
|
||||||
specific.
|
specific.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
@@ -53,12 +54,11 @@ POSTKICK(1) POSTKICK(1)
|
|||||||
Enable verbose logging for debugging purposes.
|
Enable verbose logging for debugging purposes.
|
||||||
|
|
||||||
<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
|
||||||
details and for default values.
|
details and for default values.
|
||||||
|
|
||||||
<b>queue</b><i>_</i><b>directory</b>
|
|
||||||
Location of the Postfix queue, and of the local IPC
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -71,6 +71,8 @@ POSTKICK(1) POSTKICK(1)
|
|||||||
POSTKICK(1) POSTKICK(1)
|
POSTKICK(1) POSTKICK(1)
|
||||||
|
|
||||||
|
|
||||||
|
<b>queue</b><i>_</i><b>directory</b>
|
||||||
|
Location of the Postfix queue, and of the local IPC
|
||||||
communication endpoints.
|
communication endpoints.
|
||||||
|
|
||||||
<b>SEE</b> <b>ALSO</b>
|
<b>SEE</b> <b>ALSO</b>
|
||||||
@@ -78,7 +80,7 @@ POSTKICK(1) POSTKICK(1)
|
|||||||
<a href="pickup.8.html">pickup(8)</a> local pickup daemon
|
<a href="pickup.8.html">pickup(8)</a> local pickup daemon
|
||||||
|
|
||||||
<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>
|
||||||
@@ -123,8 +125,6 @@ POSTKICK(1) POSTKICK(1)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -19,34 +19,35 @@ POSTLOCK(1) POSTLOCK(1)
|
|||||||
Options:
|
Options:
|
||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
Read configuration information from <b>main.cf</b> in the
|
Read the <b>main.cf</b> configuration file in the named
|
||||||
named configuration directory.
|
directory instead of the default configuration
|
||||||
|
directory.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
<i>file</i> A mailbox file. The user should have read/write
|
<i>file</i> A mailbox file. The user should have read/write
|
||||||
permission.
|
permission.
|
||||||
|
|
||||||
<i>command...</i>
|
<i>command...</i>
|
||||||
The command to execute while <i>file</i> is locked for
|
The command to execute while <i>file</i> is locked for
|
||||||
exclusive access. The command is executed
|
exclusive access. The command is executed
|
||||||
directly, i.e. without interpretation by a shell
|
directly, i.e. without interpretation by a shell
|
||||||
command interpreter.
|
command interpreter.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
The result status is 75 (EX_TEMPFAIL) when the file is
|
The result status is 75 (EX_TEMPFAIL) when the file is
|
||||||
locked by another process, 255 (on some systems: -1) when
|
locked by another process, 255 (on some systems: -1) when
|
||||||
<b>postlock</b> could not perform the requested operation. Oth-
|
<b>postlock</b> could not perform the requested operation. Oth-
|
||||||
erwise, the exit status is the exit status from the com-
|
erwise, the exit status is the exit status from the com-
|
||||||
mand.
|
mand.
|
||||||
|
|
||||||
<b>BUGS</b>
|
<b>BUGS</b>
|
||||||
With remote file systems, the ability to acquire a lock
|
With remote file systems, the ability to acquire a lock
|
||||||
does not necessarily eliminate access conflicts. Avoid
|
does not necessarily eliminate access conflicts. Avoid
|
||||||
file access by processes running on different machines.
|
file access by processes running on different machines.
|
||||||
|
|
||||||
<b>ENVIRONMENT</b>
|
<b>ENVIRONMENT</b>
|
||||||
@@ -57,8 +58,7 @@ POSTLOCK(1) POSTLOCK(1)
|
|||||||
Enable verbose logging for debugging purposes.
|
Enable verbose logging for debugging purposes.
|
||||||
|
|
||||||
<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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -71,15 +71,16 @@ POSTLOCK(1) POSTLOCK(1)
|
|||||||
POSTLOCK(1) POSTLOCK(1)
|
POSTLOCK(1) POSTLOCK(1)
|
||||||
|
|
||||||
|
|
||||||
|
to this program. See the Postfix <b>main.cf</b> file for syntax
|
||||||
details and for default values.
|
details and for default values.
|
||||||
|
|
||||||
<b>Locking</b> <b>controls</b>
|
<b>Locking</b> <b>controls</b>
|
||||||
<b>deliver</b><i>_</i><b>lock</b><i>_</i><b>attempts</b>
|
<b>deliver</b><i>_</i><b>lock</b><i>_</i><b>attempts</b>
|
||||||
Limit the number of attempts to acquire an exclu-
|
Limit the number of attempts to acquire an exclu-
|
||||||
sive lock.
|
sive lock.
|
||||||
|
|
||||||
<b>deliver</b><i>_</i><b>lock</b><i>_</i><b>delay</b>
|
<b>deliver</b><i>_</i><b>lock</b><i>_</i><b>delay</b>
|
||||||
Time in seconds between successive attempts to
|
Time in seconds between successive attempts to
|
||||||
acquire an exclusive lock.
|
acquire an exclusive lock.
|
||||||
|
|
||||||
<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>
|
||||||
@@ -87,15 +88,15 @@ POSTLOCK(1) POSTLOCK(1)
|
|||||||
|
|
||||||
<b>Resource</b> <b>controls</b>
|
<b>Resource</b> <b>controls</b>
|
||||||
<b>fork</b><i>_</i><b>attempts</b>
|
<b>fork</b><i>_</i><b>attempts</b>
|
||||||
Number of attempts to <b>fork</b>() a process before giv-
|
Number of attempts to <b>fork</b>() a process before giv-
|
||||||
ing up.
|
ing up.
|
||||||
|
|
||||||
<b>fork</b><i>_</i><b>delay</b>
|
<b>fork</b><i>_</i><b>delay</b>
|
||||||
Delay in seconds between successive <b>fork</b>()
|
Delay in seconds between successive <b>fork</b>()
|
||||||
attempts.
|
attempts.
|
||||||
|
|
||||||
<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>
|
||||||
@@ -125,7 +126,6 @@ POSTLOCK(1) POSTLOCK(1)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2
|
2
|
||||||
|
@@ -9,7 +9,7 @@ POSTMAP(1) POSTMAP(1)
|
|||||||
postmap - Postfix lookup table management
|
postmap - Postfix lookup table management
|
||||||
|
|
||||||
<b>SYNOPSIS</b>
|
<b>SYNOPSIS</b>
|
||||||
<b>postmap</b> [<b>-Ninvw</b>] [<b>-c</b> <i>config_dir</i>] [<b>-q</b> <i>key</i>]
|
<b>postmap</b> [<b>-Ninvw</b>] [<b>-c</b> <i>config_dir</i>] [<b>-d</b> <i>key</i>] [<b>-q</b> <i>key</i>]
|
||||||
[<i>file_type</i>:]<i>file_name</i> ...
|
[<i>file_type</i>:]<i>file_name</i> ...
|
||||||
|
|
||||||
<b>DESCRIPTION</b>
|
<b>DESCRIPTION</b>
|
||||||
@@ -52,12 +52,12 @@ POSTMAP(1) POSTMAP(1)
|
|||||||
|
|
||||||
<b>-c</b> <i>config_dir</i>
|
<b>-c</b> <i>config_dir</i>
|
||||||
Read the <b>main.cf</b> configuration file in the named
|
Read the <b>main.cf</b> configuration file in the named
|
||||||
|
directory instead of the default configuration
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
<b>-i</b> Incremental mode. Read entries from standard input
|
<b>-d</b> <i>key</i> Search the specified maps for <i>key</i> and remove one
|
||||||
and do not truncate an existing database. By
|
entry per map. The exit status is non-zero if the
|
||||||
default, <b>postmap</b> creates a new database from the
|
requested information was not found.
|
||||||
entries in <b>file</b><i>_</i><b>name</b>.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -71,47 +71,52 @@ POSTMAP(1) POSTMAP(1)
|
|||||||
POSTMAP(1) POSTMAP(1)
|
POSTMAP(1) POSTMAP(1)
|
||||||
|
|
||||||
|
|
||||||
<b>-n</b> Don't include the terminating null character that
|
<b>-i</b> Incremental mode. Read entries from standard input
|
||||||
terminates lookup keys and values. By default,
|
and do not truncate an existing database. By
|
||||||
Postfix does whatever is the default for the host
|
default, <b>postmap</b> creates a new database from the
|
||||||
|
entries in <b>file</b><i>_</i><b>name</b>.
|
||||||
|
|
||||||
|
<b>-n</b> Don't include the terminating null character that
|
||||||
|
terminates lookup keys and values. By default,
|
||||||
|
Postfix does whatever is the default for the host
|
||||||
operating system.
|
operating system.
|
||||||
|
|
||||||
<b>-q</b> <i>key</i> Search the specified maps for <i>key</i> and print the
|
<b>-q</b> <i>key</i> Search the specified maps for <i>key</i> and print the
|
||||||
first value found on the standard output stream.
|
first value found on the standard output stream.
|
||||||
The exit status is non-zero if the requested infor-
|
The exit status is non-zero if the requested infor-
|
||||||
mation was not found.
|
mation was not found.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
<b>-w</b> Do not warn about duplicate entries; silently
|
<b>-w</b> When updating a table, do not warn about duplicate
|
||||||
ignore them.
|
entries; silently ignore them.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
<i>file_type</i>
|
<i>file_type</i>
|
||||||
The type of database to be produced.
|
The type of database to be produced.
|
||||||
|
|
||||||
<b>btree</b> The output file is a btree file, named
|
<b>btree</b> The output file is a btree file, named
|
||||||
<i>file_name</i><b>.db</b>. This is available only on
|
|
||||||
systems with support for <b>db</b> databases.
|
|
||||||
|
|
||||||
<b>dbm</b> The output consists of two files, named
|
|
||||||
<i>file_name</i><b>.pag</b> and <i>file_name</i><b>.dir</b>. This is
|
|
||||||
available only on systems with support for
|
|
||||||
<b>dbm</b> databases.
|
|
||||||
|
|
||||||
<b>hash</b> The output file is a hashed file, named
|
|
||||||
<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.
|
||||||
|
|
||||||
When no <i>file_type</i> is specified, the software uses
|
<b>dbm</b> The output consists of two files, named
|
||||||
the database type specified via the <b>database</b><i>_</i><b>type</b>
|
<i>file_name</i><b>.pag</b> and <i>file_name</i><b>.dir</b>. This is
|
||||||
|
available only on systems with support for
|
||||||
|
<b>dbm</b> databases.
|
||||||
|
|
||||||
|
<b>hash</b> The output file is a hashed file, named
|
||||||
|
<i>file_name</i><b>.db</b>. This is available only on
|
||||||
|
systems with support for <b>db</b> databases.
|
||||||
|
|
||||||
|
When no <i>file_type</i> is specified, the software uses
|
||||||
|
the database type specified via the <b>database</b><i>_</i><b>type</b>
|
||||||
configuration parameter.
|
configuration parameter.
|
||||||
|
|
||||||
<i>file_name</i>
|
<i>file_name</i>
|
||||||
The name of the lookup table source file when
|
The name of the lookup table source file when
|
||||||
rebuilding a database.
|
rebuilding a database.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
@@ -119,12 +124,7 @@ POSTMAP(1) POSTMAP(1)
|
|||||||
stream. No output means no problems. Duplicate entries are
|
stream. No output means no problems. Duplicate entries are
|
||||||
skipped and are flagged with a warning.
|
skipped and are flagged with a warning.
|
||||||
|
|
||||||
<b>ENVIRONMENT</b>
|
|
||||||
<b>MAIL</b><i>_</i><b>CONFIG</b>
|
|
||||||
Directory with Postfix configuration files.
|
|
||||||
|
|
||||||
<b>MAIL</b><i>_</i><b>VERBOSE</b>
|
|
||||||
Enable verbose logging for debugging purposes.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -137,6 +137,17 @@ POSTMAP(1) POSTMAP(1)
|
|||||||
POSTMAP(1) POSTMAP(1)
|
POSTMAP(1) POSTMAP(1)
|
||||||
|
|
||||||
|
|
||||||
|
<b>BUGS</b>
|
||||||
|
The "delete key" support is limited to one delete opera-
|
||||||
|
tion per command invocation.
|
||||||
|
|
||||||
|
<b>ENVIRONMENT</b>
|
||||||
|
<b>MAIL</b><i>_</i><b>CONFIG</b>
|
||||||
|
Directory with Postfix configuration files.
|
||||||
|
|
||||||
|
<b>MAIL</b><i>_</i><b>VERBOSE</b>
|
||||||
|
Enable verbose logging for debugging purposes.
|
||||||
|
|
||||||
<b>CONFIGURATION</b> <b>PARAMETERS</b>
|
<b>CONFIGURATION</b> <b>PARAMETERS</b>
|
||||||
<b>database</b><i>_</i><b>type</b>
|
<b>database</b><i>_</i><b>type</b>
|
||||||
Default output database type. On many UNIX sys-
|
Default output database type. On many UNIX sys-
|
||||||
@@ -172,17 +183,6 @@ POSTMAP(1) POSTMAP(1)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -119,12 +119,12 @@ 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.
|
||||||
|
|
||||||
|
<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.
|
||||||
|
|
||||||
<b>smtp</b><i>_</i><b>skip</b><i>_</i><b>4xx</b><i>_</i><b>greeting</b>
|
<b>smtp</b><i>_</i><b>skip</b><i>_</i><b>4xx</b><i>_</i><b>greeting</b>
|
||||||
Skip servers that greet us with a 4xx status code.
|
Skip servers that greet us with a 4xx status code.
|
||||||
|
|
||||||
<b>smtp</b><i>_</i><b>skip</b><i>_</i><b>5xx</b><i>_</i><b>greeting</b>
|
|
||||||
Skip servers that greet us with a 5xx status code.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -137,6 +137,9 @@ SMTP(8) SMTP(8)
|
|||||||
SMTP(8) SMTP(8)
|
SMTP(8) SMTP(8)
|
||||||
|
|
||||||
|
|
||||||
|
<b>smtp</b><i>_</i><b>skip</b><i>_</i><b>5xx</b><i>_</i><b>greeting</b>
|
||||||
|
Skip servers that greet us with a 5xx status code.
|
||||||
|
|
||||||
<b>smtp</b><i>_</i><b>skip</b><i>_</i><b>quit</b><i>_</i><b>response</b>
|
<b>smtp</b><i>_</i><b>skip</b><i>_</i><b>quit</b><i>_</i><b>response</b>
|
||||||
Do not wait for the server response after sending
|
Do not wait for the server response after sending
|
||||||
QUIT.
|
QUIT.
|
||||||
@@ -188,9 +191,6 @@ SMTP(8) SMTP(8)
|
|||||||
|
|
||||||
<b>smtp</b><i>_</i><b>data</b><i>_</i><b>done</b><i>_</i><b>timeout</b>
|
<b>smtp</b><i>_</i><b>data</b><i>_</i><b>done</b><i>_</i><b>timeout</b>
|
||||||
Timeout in seconds for sending the "<b>.</b>" command, and
|
Timeout in seconds for sending the "<b>.</b>" command, and
|
||||||
for receiving the server response. When no response
|
|
||||||
is received, a warning is logged that the mail may
|
|
||||||
be delivered multiple times.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -203,6 +203,10 @@ SMTP(8) SMTP(8)
|
|||||||
SMTP(8) SMTP(8)
|
SMTP(8) SMTP(8)
|
||||||
|
|
||||||
|
|
||||||
|
for receiving the server response. When no response
|
||||||
|
is received, a warning is logged that the mail may
|
||||||
|
be delivered multiple times.
|
||||||
|
|
||||||
<b>smtp</b><i>_</i><b>quit</b><i>_</i><b>timeout</b>
|
<b>smtp</b><i>_</i><b>quit</b><i>_</i><b>timeout</b>
|
||||||
Timeout in seconds for sending the <b>QUIT</b> command,
|
Timeout in seconds for sending the <b>QUIT</b> command,
|
||||||
and for receiving the server response.
|
and for receiving the server response.
|
||||||
@@ -251,10 +255,6 @@ SMTP(8) SMTP(8)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1
postfix/local/.indent.pro
vendored
1
postfix/local/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -32,10 +32,10 @@
|
|||||||
/* .PP
|
/* .PP
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
/* .IP state
|
/* .IP state
|
||||||
/* Attributes that specify the message, recipient and more.
|
/* Attributes that specify the message, recipient and more.
|
||||||
/* Expansion type (alias, include, .forward).
|
/* Expansion type (alias, include, .forward).
|
||||||
/* A table with the results from expanding aliases or lists.
|
/* A table with the results from expanding aliases or lists.
|
||||||
/* A table with delivered-to: addresses taken from the message.
|
/* A table with delivered-to: addresses taken from the message.
|
||||||
/* .IP usr_attr
|
/* .IP usr_attr
|
||||||
/* User attributes (rights, environment).
|
/* User attributes (rights, environment).
|
||||||
/* .IP name
|
/* .IP name
|
||||||
|
@@ -21,9 +21,9 @@
|
|||||||
/*
|
/*
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
/* .IP state
|
/* .IP state
|
||||||
/* The attributes that specify the message, sender and more.
|
/* The attributes that specify the message, sender and more.
|
||||||
/* A table with the results from expanding aliases or lists.
|
/* A table with the results from expanding aliases or lists.
|
||||||
/* A table with delivered-to: addresses taken from the message.
|
/* A table with delivered-to: addresses taken from the message.
|
||||||
/* .IP addr
|
/* .IP addr
|
||||||
/* An address from, e.g., alias expansion.
|
/* An address from, e.g., alias expansion.
|
||||||
/* DIAGNOSTICS
|
/* DIAGNOSTICS
|
||||||
|
@@ -41,10 +41,10 @@
|
|||||||
/*
|
/*
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
/* .IP state
|
/* .IP state
|
||||||
/* The attributes that specify the message, recipient and more.
|
/* The attributes that specify the message, recipient and more.
|
||||||
/* Attributes describing alias, include or forward expansion.
|
/* Attributes describing alias, include or forward expansion.
|
||||||
/* A table with the results from expanding aliases or lists.
|
/* A table with the results from expanding aliases or lists.
|
||||||
/* A table with delivered-to: addresses taken from the message.
|
/* A table with delivered-to: addresses taken from the message.
|
||||||
/* .IP usr_attr
|
/* .IP usr_attr
|
||||||
/* Attributes describing user rights and environment.
|
/* Attributes describing user rights and environment.
|
||||||
/* .IP addr
|
/* .IP addr
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
# For now, just hard-coded rules for daemons, commands, config files.
|
# For now, just hard-coded rules for daemons, commands, config files.
|
||||||
|
|
||||||
DAEMONS = man8/bounce.8 man8/defer.8 man8/cleanup.8 man8/error.8 man8/local.8 \
|
DAEMONS = man8/bounce.8 man8/defer.8 man8/cleanup.8 man8/error.8 man8/local.8 \
|
||||||
@@ -101,26 +103,26 @@ man1/mailq.1:
|
|||||||
man1/newaliases.1:
|
man1/newaliases.1:
|
||||||
echo .so man1/sendmail.1 >$@
|
echo .so man1/sendmail.1 >$@
|
||||||
|
|
||||||
man5/access.5: ../conf/access
|
man5/access.5: ../proto/access
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/aliases.5: ../conf/aliases
|
man5/aliases.5: ../proto/aliases
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/canonical.5: ../conf/canonical
|
man5/canonical.5: ../proto/canonical
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/pcre_table.5: ../conf/pcre_table
|
man5/pcre_table.5: ../proto/pcre_table
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/regexp_table.5: ../conf/regexp_table
|
man5/regexp_table.5: ../proto/regexp_table
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/relocated.5: ../conf/relocated
|
man5/relocated.5: ../proto/relocated
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/transport.5: ../conf/transport
|
man5/transport.5: ../proto/transport
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
|
||||||
man5/virtual.5: ../conf/virtual
|
man5/virtual.5: ../proto/virtual
|
||||||
srctoman - $? >$@
|
srctoman - $? >$@
|
||||||
|
@@ -10,7 +10,8 @@ Postfix alias database maintenance
|
|||||||
.nf
|
.nf
|
||||||
.fi
|
.fi
|
||||||
\fBpostalias\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR]
|
\fBpostalias\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR]
|
||||||
[\fB-q \fIkey\fR] [\fIfile_type\fR:]\fIfile_name\fR ...
|
[\fB-d \fIkey\fR] [\fB-q \fIkey\fR]
|
||||||
|
[\fIfile_type\fR:]\fIfile_name\fR ...
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.ad
|
.ad
|
||||||
.fi
|
.fi
|
||||||
@@ -30,7 +31,11 @@ Include the terminating null character that terminates lookup keys
|
|||||||
and values. By default, Postfix does whatever is the default for
|
and values. By default, Postfix does whatever is the default for
|
||||||
the host operating system.
|
the host operating system.
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
Read the \fBmain.cf\fR configuration file in the named directory.
|
Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
|
instead of the default configuration directory.
|
||||||
|
.IP "\fB-d \fIkey\fR"
|
||||||
|
Search the specified maps for \fIkey\fR and remove one entry per map.
|
||||||
|
The exit status is non-zero if the requested information was not found.
|
||||||
.IP \fB-i\fR
|
.IP \fB-i\fR
|
||||||
Incremental mode. Read entries from standard input and do not
|
Incremental mode. Read entries from standard input and do not
|
||||||
truncate an existing database. By default, \fBpostalias\fR creates
|
truncate an existing database. By default, \fBpostalias\fR creates
|
||||||
@@ -47,7 +52,8 @@ if the requested information was not found.
|
|||||||
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
options make the software increasingly verbose.
|
options make the software increasingly verbose.
|
||||||
.IP \fB-w\fR
|
.IP \fB-w\fR
|
||||||
Do not warn about duplicate entries; silently ignore them.
|
When updating a table, do not warn about duplicate entries; silently
|
||||||
|
ignore them.
|
||||||
.PP
|
.PP
|
||||||
Arguments:
|
Arguments:
|
||||||
.IP \fIfile_type\fR
|
.IP \fIfile_type\fR
|
||||||
@@ -76,6 +82,11 @@ The name of the alias database source file when rebuilding a database.
|
|||||||
Problems are logged to the standard error stream. No output means
|
Problems are logged to the standard error stream. No output means
|
||||||
no problems were detected. Duplicate entries are skipped and are
|
no problems were detected. Duplicate entries are skipped and are
|
||||||
flagged with a warning.
|
flagged with a warning.
|
||||||
|
.SH BUGS
|
||||||
|
.ad
|
||||||
|
.fi
|
||||||
|
The "delete key" support is limited to one delete operation
|
||||||
|
per command invocation.
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@@ -24,7 +24,8 @@ information about the Postfix mail system.
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
The \fBmain.cf\fR configuration file is in the named directory.
|
The \fBmain.cf\fR configuration file is in the named directory
|
||||||
|
instead of the default configuration directory.
|
||||||
.IP \fB-d\fR
|
.IP \fB-d\fR
|
||||||
Print default parameter settings instead of actual settings.
|
Print default parameter settings instead of actual settings.
|
||||||
.IP \fB-e\fR
|
.IP \fB-e\fR
|
||||||
|
@@ -48,7 +48,8 @@ earliest convenience.
|
|||||||
.PP
|
.PP
|
||||||
The following options are implemented:
|
The following options are implemented:
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
The absolute path to a directory with Postfix configuration files.
|
Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in
|
||||||
|
the named directory instead of the default configuration directory.
|
||||||
Use this to distinguish between multiple Postfix instances on the
|
Use this to distinguish between multiple Postfix instances on the
|
||||||
same host.
|
same host.
|
||||||
.IP "\fB-D\fR (with \fBpostfix start\fR only)"
|
.IP "\fB-D\fR (with \fBpostfix start\fR only)"
|
||||||
|
@@ -21,8 +21,8 @@ for use in, for example, shell scripts.
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
.IP "\fB-c\fR \fIconfig_dir\fR"
|
.IP "\fB-c\fR \fIconfig_dir\fR"
|
||||||
Read configuration information from \fBmain.cf\fR in the named
|
Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
configuration directory.
|
instead of the default configuration directory.
|
||||||
.IP \fB-v\fR
|
.IP \fB-v\fR
|
||||||
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
options make the software increasingly verbose.
|
options make the software increasingly verbose.
|
||||||
|
@@ -20,8 +20,8 @@ compatible with the Postfix UNIX-style local delivery agent.
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
Read configuration information from \fBmain.cf\fR in the named
|
Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
configuration directory.
|
instead of the default configuration directory.
|
||||||
.IP \fB-v\fR
|
.IP \fB-v\fR
|
||||||
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
options make the software increasingly verbose.
|
options make the software increasingly verbose.
|
||||||
|
@@ -9,8 +9,8 @@ Postfix lookup table management
|
|||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
.fi
|
.fi
|
||||||
\fBpostmap\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR] [\fB-q \fIkey\fR]
|
\fBpostmap\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR] [\fB-d \fIkey\fR]
|
||||||
[\fIfile_type\fR:]\fIfile_name\fR ...
|
[\fB-q \fIkey\fR] [\fIfile_type\fR:]\fIfile_name\fR ...
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.ad
|
.ad
|
||||||
.fi
|
.fi
|
||||||
@@ -49,7 +49,11 @@ Include the terminating null character that terminates lookup keys
|
|||||||
and values. By default, Postfix does whatever is the default for
|
and values. By default, Postfix does whatever is the default for
|
||||||
the host operating system.
|
the host operating system.
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
Read the \fBmain.cf\fR configuration file in the named directory.
|
Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
|
instead of the default configuration directory.
|
||||||
|
.IP "\fB-d \fIkey\fR"
|
||||||
|
Search the specified maps for \fIkey\fR and remove one entry per map.
|
||||||
|
The exit status is non-zero if the requested information was not found.
|
||||||
.IP \fB-i\fR
|
.IP \fB-i\fR
|
||||||
Incremental mode. Read entries from standard input and do not
|
Incremental mode. Read entries from standard input and do not
|
||||||
truncate an existing database. By default, \fBpostmap\fR creates
|
truncate an existing database. By default, \fBpostmap\fR creates
|
||||||
@@ -66,7 +70,8 @@ if the requested information was not found.
|
|||||||
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
options make the software increasingly verbose.
|
options make the software increasingly verbose.
|
||||||
.IP \fB-w\fR
|
.IP \fB-w\fR
|
||||||
Do not warn about duplicate entries; silently ignore them.
|
When updating a table, do not warn about duplicate entries; silently
|
||||||
|
ignore them.
|
||||||
.PP
|
.PP
|
||||||
Arguments:
|
Arguments:
|
||||||
.IP \fIfile_type\fR
|
.IP \fIfile_type\fR
|
||||||
@@ -94,6 +99,11 @@ The name of the lookup table source file when rebuilding a database.
|
|||||||
Problems and transactions are logged to the standard error
|
Problems and transactions are logged to the standard error
|
||||||
stream. No output means no problems. Duplicate entries are
|
stream. No output means no problems. Duplicate entries are
|
||||||
skipped and are flagged with a warning.
|
skipped and are flagged with a warning.
|
||||||
|
.SH BUGS
|
||||||
|
.ad
|
||||||
|
.fi
|
||||||
|
The "delete key" support is limited to one delete operation
|
||||||
|
per command invocation.
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@@ -33,7 +33,7 @@ respective daemons.
|
|||||||
Options:
|
Options:
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in
|
Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in
|
||||||
the named directory.
|
the named directory instead of the default configuration directory.
|
||||||
.IP \fB-D\fR
|
.IP \fB-D\fR
|
||||||
After initialization, run a debugger on the master process. The
|
After initialization, run a debugger on the master process. The
|
||||||
debugging command is specified with the \fBdebugger_command\fR in
|
debugging command is specified with the \fBdebugger_command\fR in
|
||||||
|
@@ -101,6 +101,8 @@ avoid mail delivery loops.
|
|||||||
.IP \fBnotify_classes\fR
|
.IP \fBnotify_classes\fR
|
||||||
When this parameter includes the \fBprotocol\fR class, send mail to the
|
When this parameter includes the \fBprotocol\fR class, send mail to the
|
||||||
postmaster with transcripts of SMTP sessions with protocol errors.
|
postmaster with transcripts of SMTP sessions with protocol errors.
|
||||||
|
.IP \fBsmtp_always_send_ehlo\fR
|
||||||
|
Always send EHLO at the start of a connection.
|
||||||
.IP \fBsmtp_skip_4xx_greeting\fR
|
.IP \fBsmtp_skip_4xx_greeting\fR
|
||||||
Skip servers that greet us with a 4xx status code.
|
Skip servers that greet us with a 4xx status code.
|
||||||
.IP \fBsmtp_skip_5xx_greeting\fR
|
.IP \fBsmtp_skip_5xx_greeting\fR
|
||||||
|
1
postfix/master/.indent.pro
vendored
1
postfix/master/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
/* Options:
|
/* Options:
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
/* Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in
|
/* Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in
|
||||||
/* the named directory.
|
/* the named directory instead of the default configuration directory.
|
||||||
/* .IP \fB-D\fR
|
/* .IP \fB-D\fR
|
||||||
/* After initialization, run a debugger on the master process. The
|
/* After initialization, run a debugger on the master process. The
|
||||||
/* debugging command is specified with the \fBdebugger_command\fR in
|
/* debugging command is specified with the \fBdebugger_command\fR in
|
||||||
|
@@ -62,26 +62,34 @@
|
|||||||
/* order as specified, and multiple instances of the same type
|
/* order as specified, and multiple instances of the same type
|
||||||
/* are allowed. Raw parameters are not subjected to $name
|
/* are allowed. Raw parameters are not subjected to $name
|
||||||
/* evaluation.
|
/* evaluation.
|
||||||
/* .IP "MAIL_SERVER_PRE_INIT (void *(char *service_name char **argv))"
|
/* .IP "MAIL_SERVER_PRE_INIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to a function that is called once
|
/* A pointer to a function that is called once
|
||||||
/* by the skeleton after it has read the global configuration file
|
/* by the skeleton after it has read the global configuration file
|
||||||
/* and after it has processed command-line arguments, but before
|
/* and after it has processed command-line arguments, but before
|
||||||
/* the skeleton has optionally relinquished the process privileges.
|
/* the skeleton has optionally relinquished the process privileges.
|
||||||
/* .IP "MAIL_SERVER_POST_INIT (void *(char *service_name char **argv))"
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
|
/* .IP "MAIL_SERVER_POST_INIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to a function that is called once
|
/* A pointer to a function that is called once
|
||||||
/* by the skeleton after it has optionally relinquished the process
|
/* by the skeleton after it has optionally relinquished the process
|
||||||
/* privileges, but before servicing client connection requests.
|
/* privileges, but before servicing client connection requests.
|
||||||
/* .IP "MAIL_SERVER_LOOP (int *(char *service_name char **argv))"
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
|
/* .IP "MAIL_SERVER_LOOP (int *(char *service_name, char **argv))"
|
||||||
/* A pointer to function that is executed from
|
/* A pointer to function that is executed from
|
||||||
/* within the event loop, whenever an I/O or timer event has happened,
|
/* within the event loop, whenever an I/O or timer event has happened,
|
||||||
/* or whenever nothing has happened for a specified amount of time.
|
/* or whenever nothing has happened for a specified amount of time.
|
||||||
/* The result value of the function specifies how long to wait until
|
/* The result value of the function specifies how long to wait until
|
||||||
/* the next event. Specify -1 to wait for "as long as it takes".
|
/* the next event. Specify -1 to wait for "as long as it takes".
|
||||||
/* .IP "MAIL_SERVER_EXIT (void *(char *service_name char **argv))"
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
|
/* .IP "MAIL_SERVER_EXIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to function that is executed immediately before normal
|
/* A pointer to function that is executed immediately before normal
|
||||||
/* process termination.
|
/* process termination.
|
||||||
/* .IP "MAIL_SERVER_PRE_ACCEPT (void *(char *service_name char **argv))"
|
/* .IP "MAIL_SERVER_PRE_ACCEPT (void *(char *service_name, char **argv))"
|
||||||
/* Function to be executed prior to accepting a new connection.
|
/* Function to be executed prior to accepting a new connection.
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .PP
|
/* .PP
|
||||||
/* multi_server_disconnect() should be called by the application
|
/* multi_server_disconnect() should be called by the application
|
||||||
/* when a client disconnects.
|
/* when a client disconnects.
|
||||||
|
@@ -57,26 +57,36 @@
|
|||||||
/* order as specified, and multiple instances of the same type
|
/* order as specified, and multiple instances of the same type
|
||||||
/* are allowed. Raw parameters are not subjected to $name
|
/* are allowed. Raw parameters are not subjected to $name
|
||||||
/* evaluation.
|
/* evaluation.
|
||||||
/* .IP "MAIL_SERVER_PRE_INIT (void *(char *service_name char **argv))"
|
/* .IP "MAIL_SERVER_PRE_INIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to a function that is called once
|
/* A pointer to a function that is called once
|
||||||
/* by the skeleton after it has read the global configuration file
|
/* by the skeleton after it has read the global configuration file
|
||||||
/* and after it has processed command-line arguments, but before
|
/* and after it has processed command-line arguments, but before
|
||||||
/* the skeleton has optionally relinquished the process privileges.
|
/* the skeleton has optionally relinquished the process privileges.
|
||||||
/* .IP "MAIL_SERVER_POST_INIT (void *(char *service_name char **argv))"
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
|
/* .IP "MAIL_SERVER_POST_INIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to a function that is called once
|
/* A pointer to a function that is called once
|
||||||
/* by the skeleton after it has optionally relinquished the process
|
/* by the skeleton after it has optionally relinquished the process
|
||||||
/* privileges, but before servicing client connection requests.
|
/* privileges, but before servicing client connection requests.
|
||||||
/* .IP "MAIL_SERVER_LOOP (int *(char *service_name char **argv))"
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
|
/* .IP "MAIL_SERVER_LOOP (int *(char *service_name, char **argv))"
|
||||||
/* A pointer to function that is executed from
|
/* A pointer to function that is executed from
|
||||||
/* within the event loop, whenever an I/O or timer event has happened,
|
/* within the event loop, whenever an I/O or timer event has happened,
|
||||||
/* or whenever nothing has happened for a specified amount of time.
|
/* or whenever nothing has happened for a specified amount of time.
|
||||||
/* The result value of the function specifies how long to wait until
|
/* The result value of the function specifies how long to wait until
|
||||||
/* the next event. Specify -1 to wait for "as long as it takes".
|
/* the next event. Specify -1 to wait for "as long as it takes".
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .IP "MAIL_SERVER_EXIT (void *(void))"
|
/* .IP "MAIL_SERVER_EXIT (void *(void))"
|
||||||
/* A pointer to function that is executed immediately before normal
|
/* A pointer to function that is executed immediately before normal
|
||||||
/* process termination.
|
/* process termination.
|
||||||
/* .IP "MAIL_SERVER_PRE_ACCEPT (void *(char *service_name char **argv))"
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
|
/* .IP "MAIL_SERVER_PRE_ACCEPT (void *(char *service_name, char **argv))"
|
||||||
/* Function to be executed prior to accepting a new connection.
|
/* Function to be executed prior to accepting a new connection.
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .PP
|
/* .PP
|
||||||
/* The var_use_limit variable limits the number of clients that
|
/* The var_use_limit variable limits the number of clients that
|
||||||
/* a server can service before it commits suicide.
|
/* a server can service before it commits suicide.
|
||||||
|
@@ -69,21 +69,31 @@
|
|||||||
/* by the skeleton after it has read the global configuration file
|
/* by the skeleton after it has read the global configuration file
|
||||||
/* and after it has processed command-line arguments, but before
|
/* and after it has processed command-line arguments, but before
|
||||||
/* the skeleton has optionally relinquished the process privileges.
|
/* the skeleton has optionally relinquished the process privileges.
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .IP "MAIL_SERVER_POST_INIT (void *(char *service_name, char **argv))"
|
/* .IP "MAIL_SERVER_POST_INIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to a function that is called once
|
/* A pointer to a function that is called once
|
||||||
/* by the skeleton after it has optionally relinquished the process
|
/* by the skeleton after it has optionally relinquished the process
|
||||||
/* privileges, but before servicing client connection requests.
|
/* privileges, but before servicing client connection requests.
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .IP "MAIL_SERVER_LOOP (int *(char *service_name, char **argv))"
|
/* .IP "MAIL_SERVER_LOOP (int *(char *service_name, char **argv))"
|
||||||
/* A pointer to function that is executed from
|
/* A pointer to function that is executed from
|
||||||
/* within the event loop, whenever an I/O or timer event has happened,
|
/* within the event loop, whenever an I/O or timer event has happened,
|
||||||
/* or whenever nothing has happened for a specified amount of time.
|
/* or whenever nothing has happened for a specified amount of time.
|
||||||
/* The result value of the function specifies how long to wait until
|
/* The result value of the function specifies how long to wait until
|
||||||
/* the next event. Specify -1 to wait for "as long as it takes".
|
/* the next event. Specify -1 to wait for "as long as it takes".
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .IP "MAIL_SERVER_EXIT (void *(char *service_name, char **argv))"
|
/* .IP "MAIL_SERVER_EXIT (void *(char *service_name, char **argv))"
|
||||||
/* A pointer to function that is executed immediately before normal
|
/* A pointer to function that is executed immediately before normal
|
||||||
/* process termination.
|
/* process termination.
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .IP "MAIL_SERVER_PRE_ACCEPT (void *(char *service_name, char **argv))"
|
/* .IP "MAIL_SERVER_PRE_ACCEPT (void *(char *service_name, char **argv))"
|
||||||
/* Function to be executed prior to accepting a new request.
|
/* Function to be executed prior to accepting a new request.
|
||||||
|
/* .sp
|
||||||
|
/* Only the last instance of this parameter type is remembered.
|
||||||
/* .PP
|
/* .PP
|
||||||
/* The var_use_limit variable limits the number of clients that
|
/* The var_use_limit variable limits the number of clients that
|
||||||
/* a server can service before it commits suicide.
|
/* a server can service before it commits suicide.
|
||||||
|
1
postfix/pickup/.indent.pro
vendored
1
postfix/pickup/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -36,19 +36,19 @@
|
|||||||
/* CONFIGURATION PARAMETERS
|
/* CONFIGURATION PARAMETERS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
/* The following \fBmain.cf\fR parameters are especially relevant to
|
/* The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
/* and for default values. Use the \fBpostfix reload\fR command after
|
/* and for default values. Use the \fBpostfix reload\fR command after
|
||||||
/* a configuration change.
|
/* a configuration change.
|
||||||
/* .SH Miscellaneous
|
/* .SH Miscellaneous
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
/* .IP \fBalways_bcc\fR
|
/* .IP \fBalways_bcc\fR
|
||||||
/* Address to send a copy of each message that enters the system.
|
/* Address to send a copy of each message that enters the system.
|
||||||
/* .IP \fBmail_owner\fR
|
/* .IP \fBmail_owner\fR
|
||||||
/* The process privileges used while not opening a \fBmaildrop\fR file.
|
/* The process privileges used while not opening a \fBmaildrop\fR file.
|
||||||
/* .IP \fBqueue_directory\fR
|
/* .IP \fBqueue_directory\fR
|
||||||
/* Top-level directory of the Postfix queue.
|
/* Top-level directory of the Postfix queue.
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
/* cleanup(8) message canonicalization
|
/* cleanup(8) message canonicalization
|
||||||
/* master(8) process manager
|
/* master(8) process manager
|
||||||
|
1
postfix/pipe/.indent.pro
vendored
1
postfix/pipe/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/postalias/.indent.pro
vendored
1
postfix/postalias/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -6,7 +6,8 @@
|
|||||||
/* SYNOPSIS
|
/* SYNOPSIS
|
||||||
/* .fi
|
/* .fi
|
||||||
/* \fBpostalias\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR]
|
/* \fBpostalias\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR]
|
||||||
/* [\fB-q \fIkey\fR] [\fIfile_type\fR:]\fIfile_name\fR ...
|
/* [\fB-d \fIkey\fR] [\fB-q \fIkey\fR]
|
||||||
|
/* [\fIfile_type\fR:]\fIfile_name\fR ...
|
||||||
/* DESCRIPTION
|
/* DESCRIPTION
|
||||||
/* The \fBpostalias\fR command creates or queries one or more Postfix
|
/* The \fBpostalias\fR command creates or queries one or more Postfix
|
||||||
/* alias databases, or updates an existing one. The input and output
|
/* alias databases, or updates an existing one. The input and output
|
||||||
@@ -24,7 +25,11 @@
|
|||||||
/* and values. By default, Postfix does whatever is the default for
|
/* and values. By default, Postfix does whatever is the default for
|
||||||
/* the host operating system.
|
/* the host operating system.
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
/* Read the \fBmain.cf\fR configuration file in the named directory.
|
/* Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
|
/* instead of the default configuration directory.
|
||||||
|
/* .IP "\fB-d \fIkey\fR"
|
||||||
|
/* Search the specified maps for \fIkey\fR and remove one entry per map.
|
||||||
|
/* The exit status is non-zero if the requested information was not found.
|
||||||
/* .IP \fB-i\fR
|
/* .IP \fB-i\fR
|
||||||
/* Incremental mode. Read entries from standard input and do not
|
/* Incremental mode. Read entries from standard input and do not
|
||||||
/* truncate an existing database. By default, \fBpostalias\fR creates
|
/* truncate an existing database. By default, \fBpostalias\fR creates
|
||||||
@@ -41,7 +46,8 @@
|
|||||||
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
/* options make the software increasingly verbose.
|
/* options make the software increasingly verbose.
|
||||||
/* .IP \fB-w\fR
|
/* .IP \fB-w\fR
|
||||||
/* Do not warn about duplicate entries; silently ignore them.
|
/* When updating a table, do not warn about duplicate entries; silently
|
||||||
|
/* ignore them.
|
||||||
/* .PP
|
/* .PP
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
/* .IP \fIfile_type\fR
|
/* .IP \fIfile_type\fR
|
||||||
@@ -68,6 +74,9 @@
|
|||||||
/* Problems are logged to the standard error stream. No output means
|
/* Problems are logged to the standard error stream. No output means
|
||||||
/* no problems were detected. Duplicate entries are skipped and are
|
/* no problems were detected. Duplicate entries are skipped and are
|
||||||
/* flagged with a warning.
|
/* flagged with a warning.
|
||||||
|
/* BUGS
|
||||||
|
/* The "delete key" support is limited to one delete operation
|
||||||
|
/* per command invocation.
|
||||||
/* ENVIRONMENT
|
/* ENVIRONMENT
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
@@ -301,11 +310,29 @@ static int postalias_query(const char *map_type, const char *map_name,
|
|||||||
return (value != 0);
|
return (value != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* postalias_delete - delete a key value pair from a map */
|
||||||
|
|
||||||
|
static int postalias_delete(const char *map_type, const char *map_name,
|
||||||
|
const char *key)
|
||||||
|
{
|
||||||
|
DICT *dict;
|
||||||
|
int status;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XXX This must be generalized to multi-key (read from stdin) and
|
||||||
|
* multi-map (given on command line) updates.
|
||||||
|
*/
|
||||||
|
dict = dict_open3(map_type, map_name, O_RDWR, DICT_FLAG_LOCK);
|
||||||
|
status = dict_del(dict, key);
|
||||||
|
dict_close(dict);
|
||||||
|
return (status);
|
||||||
|
}
|
||||||
|
|
||||||
/* usage - explain */
|
/* usage - explain */
|
||||||
|
|
||||||
static NORETURN usage(char *myname)
|
static NORETURN usage(char *myname)
|
||||||
{
|
{
|
||||||
msg_fatal("usage: %s [-Ninvw] [-c config_dir] [-q key] [map_type:]file...",
|
msg_fatal("usage: %s [-Ninvw] [-c config_dir] [-d key] [-q key] [map_type:]file...",
|
||||||
myname);
|
myname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,6 +346,7 @@ int main(int argc, char **argv)
|
|||||||
int open_flags = O_RDWR | O_CREAT | O_TRUNC;
|
int open_flags = O_RDWR | O_CREAT | O_TRUNC;
|
||||||
int dict_flags = DICT_FLAG_DUP_WARN;
|
int dict_flags = DICT_FLAG_DUP_WARN;
|
||||||
char *query = 0;
|
char *query = 0;
|
||||||
|
char *delkey = 0;
|
||||||
int found;
|
int found;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -354,7 +382,7 @@ int main(int argc, char **argv)
|
|||||||
/*
|
/*
|
||||||
* Parse JCL.
|
* Parse JCL.
|
||||||
*/
|
*/
|
||||||
while ((ch = GETOPT(argc, argv, "Nc:inq:vw")) > 0) {
|
while ((ch = GETOPT(argc, argv, "Nc:d:inq:vw")) > 0) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
default:
|
default:
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
@@ -367,6 +395,11 @@ int main(int argc, char **argv)
|
|||||||
if (setenv(CONF_ENV_PATH, optarg, 1) < 0)
|
if (setenv(CONF_ENV_PATH, optarg, 1) < 0)
|
||||||
msg_fatal("out of memory");
|
msg_fatal("out of memory");
|
||||||
break;
|
break;
|
||||||
|
case 'd':
|
||||||
|
if (query || delkey)
|
||||||
|
msg_fatal("specify only one of -q or -d");
|
||||||
|
delkey = optarg;
|
||||||
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
open_flags &= ~O_TRUNC;
|
open_flags &= ~O_TRUNC;
|
||||||
break;
|
break;
|
||||||
@@ -375,6 +408,8 @@ int main(int argc, char **argv)
|
|||||||
dict_flags &= ~DICT_FLAG_TRY1NULL;
|
dict_flags &= ~DICT_FLAG_TRY1NULL;
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
|
if (query || delkey)
|
||||||
|
msg_fatal("specify only one of -q or -d");
|
||||||
query = optarg;
|
query = optarg;
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
@@ -392,19 +427,20 @@ int main(int argc, char **argv)
|
|||||||
* Use the map type specified by the user, or fall back to a default
|
* Use the map type specified by the user, or fall back to a default
|
||||||
* database type.
|
* database type.
|
||||||
*/
|
*/
|
||||||
if (query == 0) { /* create/update map(s) */
|
if (delkey) { /* remove entry */
|
||||||
if (optind + 1 > argc)
|
if (optind + 1 > argc)
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
|
found = 0;
|
||||||
while (optind < argc) {
|
while (optind < argc) {
|
||||||
if ((path_name = split_at(argv[optind], ':')) != 0) {
|
if ((path_name = split_at(argv[optind], ':')) != 0) {
|
||||||
postalias(argv[optind], path_name, open_flags, dict_flags);
|
found |= postalias_delete(argv[optind], path_name, delkey);
|
||||||
} else {
|
} else {
|
||||||
postalias(var_db_type, argv[optind], open_flags, dict_flags);
|
found |= postalias_delete(var_db_type, argv[optind], delkey);
|
||||||
}
|
}
|
||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
exit(0);
|
exit(found ? 0 : 1);
|
||||||
} else { /* query map(s) */
|
} else if (query) { /* query map(s) */
|
||||||
if (optind + 1 > argc)
|
if (optind + 1 > argc)
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
while (optind < argc) {
|
while (optind < argc) {
|
||||||
@@ -418,5 +454,17 @@ int main(int argc, char **argv)
|
|||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
exit(1);
|
exit(1);
|
||||||
|
} else { /* create/update map(s) */
|
||||||
|
if (optind + 1 > argc)
|
||||||
|
usage(argv[0]);
|
||||||
|
while (optind < argc) {
|
||||||
|
if ((path_name = split_at(argv[optind], ':')) != 0) {
|
||||||
|
postalias(argv[optind], path_name, open_flags, dict_flags);
|
||||||
|
} else {
|
||||||
|
postalias(var_db_type, argv[optind], open_flags, dict_flags);
|
||||||
|
}
|
||||||
|
optind++;
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
postfix/postcat/.indent.pro
vendored
1
postfix/postcat/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/postconf/.indent.pro
vendored
1
postfix/postconf/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -3,19 +3,19 @@
|
|||||||
/^(static| )*CONFIG_INT_TABLE .*{/,/};/ {
|
/^(static| )*CONFIG_INT_TABLE .*{/,/};/ {
|
||||||
if ($1 ~ /VAR/) {
|
if ($1 ~ /VAR/) {
|
||||||
print "int " substr($3,2,length($3)-2) ";" > "int_vars.h"
|
print "int " substr($3,2,length($3)-2) ";" > "int_vars.h"
|
||||||
print | "sort -u >int_table.h"
|
print | "sed 's/[ ][ ]*/ /g' | sort -u >int_table.h"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/^(static| )*CONFIG_STR_TABLE .*{/,/};/ {
|
/^(static| )*CONFIG_STR_TABLE .*{/,/};/ {
|
||||||
if ($1 ~ /VAR/) {
|
if ($1 ~ /VAR/) {
|
||||||
print "char *" substr($3,2,length($3)-2) ";" > "str_vars.h"
|
print "char *" substr($3,2,length($3)-2) ";" > "str_vars.h"
|
||||||
print | "sort -u >str_table.h"
|
print | "sed 's/[ ][ ]*/ /g' | sort -u >str_table.h"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/^(static| )*CONFIG_BOOL_TABLE .*{/,/};/ {
|
/^(static| )*CONFIG_BOOL_TABLE .*{/,/};/ {
|
||||||
if ($1 ~ /VAR/) {
|
if ($1 ~ /VAR/) {
|
||||||
print "int " substr($3,2,length($3)-2) ";" > "bool_vars.h"
|
print "int " substr($3,2,length($3)-2) ";" > "bool_vars.h"
|
||||||
print | "sort -u >bool_table.h"
|
print | "sed 's/[ ][ ]*/ /g' | sort -u >bool_table.h"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,7 +18,8 @@
|
|||||||
/*
|
/*
|
||||||
/* Options:
|
/* Options:
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
/* The \fBmain.cf\fR configuration file is in the named directory.
|
/* The \fBmain.cf\fR configuration file is in the named directory
|
||||||
|
/* instead of the default configuration directory.
|
||||||
/* .IP \fB-d\fR
|
/* .IP \fB-d\fR
|
||||||
/* Print default parameter settings instead of actual settings.
|
/* Print default parameter settings instead of actual settings.
|
||||||
/* .IP \fB-e\fR
|
/* .IP \fB-e\fR
|
||||||
|
1
postfix/postdrop/.indent.pro
vendored
1
postfix/postdrop/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/postfix/.indent.pro
vendored
1
postfix/postfix/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -42,7 +42,8 @@
|
|||||||
/* .PP
|
/* .PP
|
||||||
/* The following options are implemented:
|
/* The following options are implemented:
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
/* The absolute path to a directory with Postfix configuration files.
|
/* Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in
|
||||||
|
/* the named directory instead of the default configuration directory.
|
||||||
/* Use this to distinguish between multiple Postfix instances on the
|
/* Use this to distinguish between multiple Postfix instances on the
|
||||||
/* same host.
|
/* same host.
|
||||||
/* .IP "\fB-D\fR (with \fBpostfix start\fR only)"
|
/* .IP "\fB-D\fR (with \fBpostfix start\fR only)"
|
||||||
|
1
postfix/postkick/.indent.pro
vendored
1
postfix/postkick/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
/*
|
/*
|
||||||
/* Options:
|
/* Options:
|
||||||
/* .IP "\fB-c\fR \fIconfig_dir\fR"
|
/* .IP "\fB-c\fR \fIconfig_dir\fR"
|
||||||
/* Read configuration information from \fBmain.cf\fR in the named
|
/* Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
/* configuration directory.
|
/* instead of the default configuration directory.
|
||||||
/* .IP \fB-v\fR
|
/* .IP \fB-v\fR
|
||||||
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
/* options make the software increasingly verbose.
|
/* options make the software increasingly verbose.
|
||||||
@@ -43,9 +43,9 @@
|
|||||||
/* CONFIGURATION PARAMETERS
|
/* CONFIGURATION PARAMETERS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
/* The following \fBmain.cf\fR parameters are especially relevant to
|
/* The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
/* and for default values.
|
/* and for default values.
|
||||||
/* .IP \fBqueue_directory\fR
|
/* .IP \fBqueue_directory\fR
|
||||||
/* Location of the Postfix queue, and of the local IPC communication
|
/* Location of the Postfix queue, and of the local IPC communication
|
||||||
/* endpoints.
|
/* endpoints.
|
||||||
|
1
postfix/postlock/.indent.pro
vendored
1
postfix/postlock/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -14,8 +14,8 @@
|
|||||||
/*
|
/*
|
||||||
/* Options:
|
/* Options:
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
/* Read configuration information from \fBmain.cf\fR in the named
|
/* Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
/* configuration directory.
|
/* instead of the default configuration directory.
|
||||||
/* .IP \fB-v\fR
|
/* .IP \fB-v\fR
|
||||||
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
/* options make the software increasingly verbose.
|
/* options make the software increasingly verbose.
|
||||||
@@ -46,9 +46,9 @@
|
|||||||
/* CONFIGURATION PARAMETERS
|
/* CONFIGURATION PARAMETERS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
/* The following \fBmain.cf\fR parameters are especially relevant to
|
/* The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
/* and for default values.
|
/* and for default values.
|
||||||
/* .SH "Locking controls"
|
/* .SH "Locking controls"
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
|
1
postfix/postlog/.indent.pro
vendored
1
postfix/postlog/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/postmap/.indent.pro
vendored
1
postfix/postmap/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -5,8 +5,8 @@
|
|||||||
/* Postfix lookup table management
|
/* Postfix lookup table management
|
||||||
/* SYNOPSIS
|
/* SYNOPSIS
|
||||||
/* .fi
|
/* .fi
|
||||||
/* \fBpostmap\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR] [\fB-q \fIkey\fR]
|
/* \fBpostmap\fR [\fB-Ninvw\fR] [\fB-c \fIconfig_dir\fR] [\fB-d \fIkey\fR]
|
||||||
/* [\fIfile_type\fR:]\fIfile_name\fR ...
|
/* [\fB-q \fIkey\fR] [\fIfile_type\fR:]\fIfile_name\fR ...
|
||||||
/* DESCRIPTION
|
/* DESCRIPTION
|
||||||
/* The \fBpostmap\fR command creates or queries one or more Postfix
|
/* The \fBpostmap\fR command creates or queries one or more Postfix
|
||||||
/* lookup tables, or updates an existing one. The input and output
|
/* lookup tables, or updates an existing one. The input and output
|
||||||
@@ -43,7 +43,11 @@
|
|||||||
/* and values. By default, Postfix does whatever is the default for
|
/* and values. By default, Postfix does whatever is the default for
|
||||||
/* the host operating system.
|
/* the host operating system.
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
/* Read the \fBmain.cf\fR configuration file in the named directory.
|
/* Read the \fBmain.cf\fR configuration file in the named directory
|
||||||
|
/* instead of the default configuration directory.
|
||||||
|
/* .IP "\fB-d \fIkey\fR"
|
||||||
|
/* Search the specified maps for \fIkey\fR and remove one entry per map.
|
||||||
|
/* The exit status is non-zero if the requested information was not found.
|
||||||
/* .IP \fB-i\fR
|
/* .IP \fB-i\fR
|
||||||
/* Incremental mode. Read entries from standard input and do not
|
/* Incremental mode. Read entries from standard input and do not
|
||||||
/* truncate an existing database. By default, \fBpostmap\fR creates
|
/* truncate an existing database. By default, \fBpostmap\fR creates
|
||||||
@@ -60,7 +64,8 @@
|
|||||||
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
/* options make the software increasingly verbose.
|
/* options make the software increasingly verbose.
|
||||||
/* .IP \fB-w\fR
|
/* .IP \fB-w\fR
|
||||||
/* Do not warn about duplicate entries; silently ignore them.
|
/* When updating a table, do not warn about duplicate entries; silently
|
||||||
|
/* ignore them.
|
||||||
/* .PP
|
/* .PP
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
/* .IP \fIfile_type\fR
|
/* .IP \fIfile_type\fR
|
||||||
@@ -86,6 +91,9 @@
|
|||||||
/* Problems and transactions are logged to the standard error
|
/* Problems and transactions are logged to the standard error
|
||||||
/* stream. No output means no problems. Duplicate entries are
|
/* stream. No output means no problems. Duplicate entries are
|
||||||
/* skipped and are flagged with a warning.
|
/* skipped and are flagged with a warning.
|
||||||
|
/* BUGS
|
||||||
|
/* The "delete key" support is limited to one delete operation
|
||||||
|
/* per command invocation.
|
||||||
/* ENVIRONMENT
|
/* ENVIRONMENT
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
@@ -255,11 +263,29 @@ static int postmap_query(const char *map_type, const char *map_name,
|
|||||||
return (value != 0);
|
return (value != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* postmap_delete - delete a (key, value) pair from a map */
|
||||||
|
|
||||||
|
static int postmap_delete(const char *map_type, const char *map_name,
|
||||||
|
const char *key)
|
||||||
|
{
|
||||||
|
DICT *dict;
|
||||||
|
int status;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XXX This must be generalized to multi-key (read from stdin) and
|
||||||
|
* multi-map (given on command line) updates.
|
||||||
|
*/
|
||||||
|
dict = dict_open3(map_type, map_name, O_RDWR, DICT_FLAG_LOCK);
|
||||||
|
status = dict_del(dict, key);
|
||||||
|
dict_close(dict);
|
||||||
|
return (status);
|
||||||
|
}
|
||||||
|
|
||||||
/* usage - explain */
|
/* usage - explain */
|
||||||
|
|
||||||
static NORETURN usage(char *myname)
|
static NORETURN usage(char *myname)
|
||||||
{
|
{
|
||||||
msg_fatal("usage: %s [-Ninvw] [-c config_dir] [-q key] [map_type:]file...",
|
msg_fatal("usage: %s [-Ninvw] [-c config_dir] [-d key] [-q key] [map_type:]file...",
|
||||||
myname);
|
myname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -273,6 +299,7 @@ int main(int argc, char **argv)
|
|||||||
int open_flags = O_RDWR | O_CREAT | O_TRUNC;
|
int open_flags = O_RDWR | O_CREAT | O_TRUNC;
|
||||||
int dict_flags = DICT_FLAG_DUP_WARN;
|
int dict_flags = DICT_FLAG_DUP_WARN;
|
||||||
char *query = 0;
|
char *query = 0;
|
||||||
|
char *delkey = 0;
|
||||||
int found;
|
int found;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -308,7 +335,7 @@ int main(int argc, char **argv)
|
|||||||
/*
|
/*
|
||||||
* Parse JCL.
|
* Parse JCL.
|
||||||
*/
|
*/
|
||||||
while ((ch = GETOPT(argc, argv, "Nc:inq:vw")) > 0) {
|
while ((ch = GETOPT(argc, argv, "Nc:d:inq:vw")) > 0) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
default:
|
default:
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
@@ -321,6 +348,11 @@ int main(int argc, char **argv)
|
|||||||
if (setenv(CONF_ENV_PATH, optarg, 1) < 0)
|
if (setenv(CONF_ENV_PATH, optarg, 1) < 0)
|
||||||
msg_fatal("out of memory");
|
msg_fatal("out of memory");
|
||||||
break;
|
break;
|
||||||
|
case 'd':
|
||||||
|
if (query || delkey)
|
||||||
|
msg_fatal("specify only one of -q or -d");
|
||||||
|
delkey = optarg;
|
||||||
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
open_flags &= ~O_TRUNC;
|
open_flags &= ~O_TRUNC;
|
||||||
break;
|
break;
|
||||||
@@ -329,6 +361,8 @@ int main(int argc, char **argv)
|
|||||||
dict_flags &= ~DICT_FLAG_TRY1NULL;
|
dict_flags &= ~DICT_FLAG_TRY1NULL;
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
|
if (query || delkey)
|
||||||
|
msg_fatal("specify only one of -q or -d");
|
||||||
query = optarg;
|
query = optarg;
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
@@ -346,19 +380,20 @@ int main(int argc, char **argv)
|
|||||||
* Use the map type specified by the user, or fall back to a default
|
* Use the map type specified by the user, or fall back to a default
|
||||||
* database type.
|
* database type.
|
||||||
*/
|
*/
|
||||||
if (query == 0) { /* create/update map(s) */
|
if (delkey) { /* remove entry */
|
||||||
if (optind + 1 > argc)
|
if (optind + 1 > argc)
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
|
found = 0;
|
||||||
while (optind < argc) {
|
while (optind < argc) {
|
||||||
if ((path_name = split_at(argv[optind], ':')) != 0) {
|
if ((path_name = split_at(argv[optind], ':')) != 0) {
|
||||||
postmap(argv[optind], path_name, open_flags, dict_flags);
|
found |= postmap_delete(argv[optind], path_name, delkey);
|
||||||
} else {
|
} else {
|
||||||
postmap(var_db_type, argv[optind], open_flags, dict_flags);
|
found |= postmap_delete(var_db_type, argv[optind], delkey);
|
||||||
}
|
}
|
||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
exit(0);
|
exit(found ? 0 : 1);
|
||||||
} else { /* query map(s) */
|
} else if (query) { /* query map(s) */
|
||||||
if (optind + 1 > argc)
|
if (optind + 1 > argc)
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
while (optind < argc) {
|
while (optind < argc) {
|
||||||
@@ -372,5 +407,17 @@ int main(int argc, char **argv)
|
|||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
exit(1);
|
exit(1);
|
||||||
|
} else { /* create/update map(s) */
|
||||||
|
if (optind + 1 > argc)
|
||||||
|
usage(argv[0]);
|
||||||
|
while (optind < argc) {
|
||||||
|
if ((path_name = split_at(argv[optind], ':')) != 0) {
|
||||||
|
postmap(argv[optind], path_name, open_flags, dict_flags);
|
||||||
|
} else {
|
||||||
|
postmap(var_db_type, argv[optind], open_flags, dict_flags);
|
||||||
|
}
|
||||||
|
optind++;
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
postfix/postsuper/.indent.pro
vendored
1
postfix/postsuper/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -36,8 +36,8 @@
|
|||||||
/* CONFIGURATION PARAMETERS
|
/* CONFIGURATION PARAMETERS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
/* See the Postfix \fBmain.cf\fR file for syntax details and for
|
/* See the Postfix \fBmain.cf\fR file for syntax details and for
|
||||||
/* default values.
|
/* default values.
|
||||||
/* .IP \fBhash_queue_depth\fR
|
/* .IP \fBhash_queue_depth\fR
|
||||||
/* Number of subdirectory levels for hashed queues.
|
/* Number of subdirectory levels for hashed queues.
|
||||||
/* .IP \fBhash_queue_names\fR
|
/* .IP \fBhash_queue_names\fR
|
||||||
|
44
postfix/proto/Makefile.in
Normal file
44
postfix/proto/Makefile.in
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# For now, just hard-coded rules.
|
||||||
|
|
||||||
|
CONFIG = ../conf/access ../conf/aliases ../conf/canonical ../conf/relocated \
|
||||||
|
../conf/transport ../conf/virtual ../conf/pcre_table \
|
||||||
|
../conf/regexp_table
|
||||||
|
|
||||||
|
update: $(CONFIG)
|
||||||
|
|
||||||
|
Makefile: Makefile.in
|
||||||
|
(set -e; echo "# DO NOT EDIT"; $(OPTS) $(SHELL) ../makedefs; cat $?) >$@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
:
|
||||||
|
|
||||||
|
tidy: clean
|
||||||
|
|
||||||
|
clobber:
|
||||||
|
rm -f $(CONFIG)
|
||||||
|
|
||||||
|
../conf/access: access
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
|
../conf/aliases: aliases0 aliases
|
||||||
|
(cat aliases0; srctoman - aliases | nroff -man | col -bx | uniq | sed 's/^/# /') >$@
|
||||||
|
|
||||||
|
../conf/canonical: canonical
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
|
../conf/pcre_table: pcre_table
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
|
../conf/regexp_table: regexp_table
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
|
../conf/relocated: relocated
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
|
../conf/transport: transport
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
|
../conf/virtual: virtual
|
||||||
|
srctoman - $? | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
103
postfix/proto/access
Normal file
103
postfix/proto/access
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# access 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix access table
|
||||||
|
# SYNOPSIS
|
||||||
|
# \fBpostmap /etc/postfix/access\fR
|
||||||
|
# DESCRIPTION
|
||||||
|
# The optional \fBaccess\fR table directs the Postfix SMTP server
|
||||||
|
# to selectively reject or accept mail from or to specific hosts,
|
||||||
|
# domains, networks, host addresses or mail addresses.
|
||||||
|
#
|
||||||
|
# Normally, the table serves as input to the \fBpostmap\fR(1) command.
|
||||||
|
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
||||||
|
# is used for fast searching by the mail system. After an update
|
||||||
|
# it may take a minute or so before the change becomes visible.
|
||||||
|
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
||||||
|
#
|
||||||
|
# When the table is provided via other means such as NIS, LDAP
|
||||||
|
# or SQL, the same lookups are done as for ordinary indexed files.
|
||||||
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-expression
|
||||||
|
# map where patterns are given as regular expressions. In that case,
|
||||||
|
# the lookups are done in a slightly different way as described below.
|
||||||
|
# TABLE FORMAT
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The format of the access table is as follows:
|
||||||
|
# .IP "blanks and comments"
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP "\fIpattern action\fR"
|
||||||
|
# When \fIpattern\fR matches a mail address, domain or host address,
|
||||||
|
# perform the corresponding \fIaction\fR.
|
||||||
|
# PATTERNS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# With lookups from indexed files such as DB or DBM, or from networked
|
||||||
|
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
||||||
|
# listed below:
|
||||||
|
# .IP \fIuser\fR@\fIdomain\fR
|
||||||
|
# Matches the specified mail address.
|
||||||
|
# .IP \fIdomain.name\fR
|
||||||
|
# Matches the \fIdomain.name\fR itself and any subdomain thereof,
|
||||||
|
# either in hostnames or in mail addresses. Top-level domains will
|
||||||
|
# never be matched.
|
||||||
|
# .IP \fIuser\fR@
|
||||||
|
# Matches all mail addresses with the specified user part.
|
||||||
|
# .IP \fInet.work.addr.ess\fR
|
||||||
|
# .IP \fInet.work.addr\fR
|
||||||
|
# .IP \fInet.work\fR
|
||||||
|
# .IP \fInet\fR
|
||||||
|
# Matches any host address in the specified network. A network
|
||||||
|
# address is a sequence of one or more octets separated by ".".
|
||||||
|
# ACTIONS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# .IP "[\fB45\fR]\fIXX text\fR"
|
||||||
|
# Reject the address etc. that matches the pattern, and respond with
|
||||||
|
# the numerical code and text.
|
||||||
|
# .IP \fBREJECT\fR
|
||||||
|
# Reject the address etc. that matches the pattern. A generic
|
||||||
|
# error response message is generated.
|
||||||
|
# .IP \fBOK\fR
|
||||||
|
# .IP "\fIAny other text\fR"
|
||||||
|
# Accept the address etc. that matches the pattern.
|
||||||
|
# REGULAR EXPRESSION TABLES
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# This section describes how the table lookups change when the table
|
||||||
|
# is given in the form of regular expressions. For a description of
|
||||||
|
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
||||||
|
# or \fBpcre_table\fR(5).
|
||||||
|
#
|
||||||
|
# Each pattern is a regular expression that is applied to the entire
|
||||||
|
# string being looked up. Depending on the application, that string
|
||||||
|
# is an entire client hostname, an entire client IP address, or an
|
||||||
|
# entire mail address. Thus, no parent domain or parent network search
|
||||||
|
# is done, and \fIuser@domain\fR mail addresses are not broken up into
|
||||||
|
# their \fIuser@\fR and \fIdomain\fR constituent parts.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Actions are the same as with normal indexed file lookups, with
|
||||||
|
# the additional feature that parenthesized substrings from the
|
||||||
|
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
||||||
|
# BUGS
|
||||||
|
# The table format does not understand quoting conventions.
|
||||||
|
# SEE ALSO
|
||||||
|
# postmap(1) create mapping table
|
||||||
|
# smtpd(8) smtp server
|
||||||
|
# pcre_table(5) format of PCRE tables
|
||||||
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
# LICENSE
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The Secure Mailer license must be distributed with this software.
|
||||||
|
# AUTHOR(S)
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
152
postfix/proto/aliases
Normal file
152
postfix/proto/aliases
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
#
|
||||||
|
# >>>>>>>>>> The program "newaliases" must be run after
|
||||||
|
# >> NOTE >> this file is updated for any changes to
|
||||||
|
# >>>>>>>>>> show through to Postfix.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Basic system aliases -- these MUST be present
|
||||||
|
MAILER-DAEMON: postmaster
|
||||||
|
postmaster: root
|
||||||
|
|
||||||
|
# General redirections for pseudo accounts
|
||||||
|
bin: root
|
||||||
|
daemon: root
|
||||||
|
named: root
|
||||||
|
nobody: root
|
||||||
|
uucp: root
|
||||||
|
www: root
|
||||||
|
ftp-bugs: root
|
||||||
|
postfix: root
|
||||||
|
|
||||||
|
# Put your local aliases here.
|
||||||
|
|
||||||
|
# Well-known aliases
|
||||||
|
manager: root
|
||||||
|
dumper: root
|
||||||
|
operator: root
|
||||||
|
abuse: postmaster
|
||||||
|
|
||||||
|
# trap decode to catch security attacks
|
||||||
|
decode: root
|
||||||
|
|
||||||
|
# Person who should get root's mail
|
||||||
|
#root: you
|
||||||
|
|
||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# aliases 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of the Postfix alias database
|
||||||
|
# SYNOPSIS
|
||||||
|
# .fi
|
||||||
|
# \fBpostalias\fR [\fB-c\fR \fIconfig_dir\fR] [\fB-v\fR]
|
||||||
|
# [\fIfile_type\fR:]\fIinput_file\fR
|
||||||
|
# DESCRIPTION
|
||||||
|
# The \fBaliases\fR file provides a system-wide mechanism to
|
||||||
|
# redirect mail for local recipients.
|
||||||
|
#
|
||||||
|
# The file serves as input to the \fBpostalias\fR(1) command. The
|
||||||
|
# result, an indexed file in \fBdbm\fR or \fBdb\fR format, is
|
||||||
|
# used for fast lookup by the mail system. After an update
|
||||||
|
# it may take a minute or so before the change becomes visible.
|
||||||
|
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
||||||
|
#
|
||||||
|
# The input and output file formats are expected to be compatible
|
||||||
|
# with Sendmail version 8, and are expected to be suitable for the
|
||||||
|
# use as NIS maps.
|
||||||
|
#
|
||||||
|
# Users can control delivery of their own mail by setting
|
||||||
|
# up \fB.forward\fR files in their home directory.
|
||||||
|
# Lines in per-user \fB.forward\fR files have the same syntax
|
||||||
|
# as the right-hand side of \fBaliases\fR entries.
|
||||||
|
#
|
||||||
|
# The format of the alias database input file is as follows:
|
||||||
|
# .IP \(bu
|
||||||
|
# An alias definition has the form
|
||||||
|
# .sp
|
||||||
|
# .ti +5
|
||||||
|
# \fIname\fR: \fIvalue1\fR, \fIvalue2\fR, \fI...\fR
|
||||||
|
# .IP \(bu
|
||||||
|
# Lines that begin with whitespace continue the previous line.
|
||||||
|
# .IP \(bu
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .PP
|
||||||
|
# The \fIname\fR is a local address (no domain part).
|
||||||
|
# Use double quotes when the name contains any special characters
|
||||||
|
# such as whitespace, `#', `:', or `@'. The \fIname\fR is folded to
|
||||||
|
# lowercase, in order to make database lookups case insensitive.
|
||||||
|
# .PP
|
||||||
|
# In addition, when an alias exists for \fBowner-\fIname\fR, delivery
|
||||||
|
# diagnostics are directed to that address, instead of to the originator.
|
||||||
|
# This is typically used to direct delivery errors to the owner of
|
||||||
|
# a mailing list, who is in a better position to deal with mailing
|
||||||
|
# list delivery problems than the originator of the undelivered mail.
|
||||||
|
# .PP
|
||||||
|
# The \fIvalue\fR contains one or more of the following:
|
||||||
|
# .IP \fIaddress\fR
|
||||||
|
# Mail is forwarded to \fIaddress\fR, which is compatible
|
||||||
|
# with the RFC 822 standard.
|
||||||
|
# .IP \fI/file/name\fR
|
||||||
|
# Mail is appended to \fI/file/name\fR. See \fBlocal\fR(8)
|
||||||
|
# for details of delivery to file.
|
||||||
|
# Delivery is not limited to regular files. For example, to dispose
|
||||||
|
# of unwanted mail, deflect it to \fB/dev/null\fR.
|
||||||
|
# .IP "|\fIcommand\fR"
|
||||||
|
# Mail is piped into \fIcommand\fR. Commands that contain special
|
||||||
|
# characters, such as whitespace, should be enclosed between double
|
||||||
|
# quotes. See \fBlocal\fR(8) for details of delivery to command.
|
||||||
|
# .sp
|
||||||
|
# When the command fails, a limited amount of command output is
|
||||||
|
# mailed back to the sender. The file \fB/usr/include/sysexits.h\fR
|
||||||
|
# defines the expected exit status codes. For example, use
|
||||||
|
# \fB|"exit 67"\fR to simulate a "user unknown" error, and
|
||||||
|
# \fB|"exit 0"\fR to implement an expensive black hole.
|
||||||
|
# .IP \fB:include:\fI/file/name\fR
|
||||||
|
# Mail is sent to the destinations listed in the named file.
|
||||||
|
# Lines in \fB:include:\fR files have the same syntax
|
||||||
|
# as the right-hand side of alias entries.
|
||||||
|
# .sp
|
||||||
|
# A destination can be any destination that is described in this
|
||||||
|
# manual page. However, delivery to "|\fIcommand\fR" and
|
||||||
|
# \fI/file/name\fR is disallowed by default. To enable, edit the
|
||||||
|
# \fBallow_mail_to_commands\fR and \fBallow_mail_to_files\fR
|
||||||
|
# configuration parameters.
|
||||||
|
# ADDRESS EXTENSION
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# When alias database search fails, and the recipient localpart
|
||||||
|
# contains the optional recipient delimiter (e.g., \fIuser+foo\fR),
|
||||||
|
# the search is repeated for the unextended address (e.g., \fIuser\fR).
|
||||||
|
# CONFIGURATION PARAMETERS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
|
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
|
# and for default values. Use the \fBpostfix reload\fR command after
|
||||||
|
# a configuration change.
|
||||||
|
# .IP \fBalias_maps\fR
|
||||||
|
# List of alias databases.
|
||||||
|
# .IP \fBallow_mail_to_commands\fR
|
||||||
|
# Restrict the usage of mail delivery to external command.
|
||||||
|
# .IP \fBallow_mail_to_files\fR
|
||||||
|
# Restrict the usage of mail delivery to external file.
|
||||||
|
# .IP \fBowner_request_special\fR
|
||||||
|
# Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR
|
||||||
|
# addresses.
|
||||||
|
# .IP \fBrecipient_delimiter\fR
|
||||||
|
# Delimiter that separates recipients from address extensions.
|
||||||
|
# STANDARDS
|
||||||
|
# RFC 822 (ARPA Internet Text Messages)
|
||||||
|
# SEE ALSO
|
||||||
|
# local(8) local delivery agent
|
||||||
|
# postalias(1) alias database management
|
||||||
|
# LICENSE
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The Secure Mailer license must be distributed with this software.
|
||||||
|
# AUTHOR(S)
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
34
postfix/proto/aliases0
Normal file
34
postfix/proto/aliases0
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#
|
||||||
|
# >>>>>>>>>> The program "newaliases" must be run after
|
||||||
|
# >> NOTE >> this file is updated for any changes to
|
||||||
|
# >>>>>>>>>> show through to Postfix.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Basic system aliases -- these MUST be present
|
||||||
|
MAILER-DAEMON: postmaster
|
||||||
|
postmaster: root
|
||||||
|
|
||||||
|
# General redirections for pseudo accounts
|
||||||
|
bin: root
|
||||||
|
daemon: root
|
||||||
|
named: root
|
||||||
|
nobody: root
|
||||||
|
uucp: root
|
||||||
|
www: root
|
||||||
|
ftp-bugs: root
|
||||||
|
postfix: root
|
||||||
|
|
||||||
|
# Put your local aliases here.
|
||||||
|
|
||||||
|
# Well-known aliases
|
||||||
|
manager: root
|
||||||
|
dumper: root
|
||||||
|
operator: root
|
||||||
|
abuse: postmaster
|
||||||
|
|
||||||
|
# trap decode to catch security attacks
|
||||||
|
decode: root
|
||||||
|
|
||||||
|
# Person who should get root's mail
|
||||||
|
#root: you
|
||||||
|
|
151
postfix/proto/canonical
Normal file
151
postfix/proto/canonical
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# canonical 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix canonical table
|
||||||
|
# SYNOPSIS
|
||||||
|
# \fBpostmap /etc/postfix/canonical\fR
|
||||||
|
# DESCRIPTION
|
||||||
|
# The optional \fBcanonical\fR file specifies an address mapping for
|
||||||
|
# local and non-local addresses. The mapping is used by the
|
||||||
|
# \fBcleanup\fR(8) daemon. The address mapping is recursive.
|
||||||
|
#
|
||||||
|
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
||||||
|
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
||||||
|
# is used for fast searching by the mail system. After an update
|
||||||
|
# it may take a minute or so before the change becomes visible.
|
||||||
|
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
||||||
|
#
|
||||||
|
# When the table is provided via other means such as NIS, LDAP
|
||||||
|
# or SQL, the same lookups are done as for ordinary indexed files.
|
||||||
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-expression
|
||||||
|
# map where patterns are given as regular expressions. In that case,
|
||||||
|
# the lookups are done in a slightly different way as described below.
|
||||||
|
#
|
||||||
|
# The \fBcanonical\fR mapping affects both message header addresses
|
||||||
|
# (i.e. addresses that appear inside messages) and message envelope
|
||||||
|
# addresses (for example, the addresses that are used in SMTP protocol
|
||||||
|
# commands). Think Sendmail rule set \fBS3\fR, if you like.
|
||||||
|
#
|
||||||
|
# Typically, one would use the \fBcanonical\fR table to replace login
|
||||||
|
# names by \fIFirstname.Lastname\fR, or to clean up addresses produced
|
||||||
|
# by legacy mail systems.
|
||||||
|
#
|
||||||
|
# The \fBcanonical\fR mapping is not to be confused with \fIvirtual
|
||||||
|
# domain\fR support. Use the \fBvirtual\fR(5) map for that purpose.
|
||||||
|
#
|
||||||
|
# The \fBcanonical\fR mapping is not to be confused with local aliasing.
|
||||||
|
# Use the \fBaliases\fR(5) map for that purpose.
|
||||||
|
# TABLE FORMAT
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The format of the \fBcanonical\fR table is as follows:
|
||||||
|
# .IP "blanks and comments"
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP "\fIpattern result\fR"
|
||||||
|
# When \fIpattern\fR matches a mail address, replace it by the
|
||||||
|
# corresponding \fIresult\fR.
|
||||||
|
# .PP
|
||||||
|
# With lookups from indexed files such as DB or DBM, or from networked
|
||||||
|
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
||||||
|
# listed below:
|
||||||
|
# .IP "\fIuser\fR@\fIdomain address\fR"
|
||||||
|
# \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form
|
||||||
|
# has the highest precedence.
|
||||||
|
# .sp
|
||||||
|
# This form useful to clean up addresses produced by legacy mail systems.
|
||||||
|
# It can also be used to produce \fIFirstname.Lastname\fR style
|
||||||
|
# addresses, but see below for a simpler solution.
|
||||||
|
# .IP "\fIuser address\fR"
|
||||||
|
# \fIuser\fR@\fIsite\fR is replaced by \fIaddress\fR when \fIsite\fR is
|
||||||
|
# equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
|
||||||
|
# $\fBmydestination\fR, or when it is listed in $\fBinet_interfaces\fR.
|
||||||
|
# .sp
|
||||||
|
# This form is useful for replacing login names by
|
||||||
|
# \fIFirstname.Lastname\fR.
|
||||||
|
# .IP "@\fIdomain address\fR"
|
||||||
|
# Every address in \fIdomain\fR is replaced by \fIaddress\fR.
|
||||||
|
# This form has the lowest precedence.
|
||||||
|
# .PP
|
||||||
|
# In all the above forms, when \fIaddress\fR has the form
|
||||||
|
# @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
|
||||||
|
# ADDRESS EXTENSION
|
||||||
|
# .fi
|
||||||
|
# .ad
|
||||||
|
# When table lookup fails, and the address localpart contains the
|
||||||
|
# optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR), the
|
||||||
|
# search is repeated for the unextended address (e.g.
|
||||||
|
# \fIuser\fR@\fIdomain\fR), and the unmatched extension is propagated
|
||||||
|
# to the result of table lookup. The matching order is:
|
||||||
|
# \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR,
|
||||||
|
# \fIuser+foo\fR, \fIuser\fR, and @\fIdomain\fR.
|
||||||
|
# REGULAR EXPRESSION TABLES
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# This section describes how the table lookups change when the table
|
||||||
|
# is given in the form of regular expressions. For a description of
|
||||||
|
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
||||||
|
# or \fBpcre_table\fR(5).
|
||||||
|
#
|
||||||
|
# Each pattern is a regular expression that is applied to the entire
|
||||||
|
# address being looked up. Thus, \fIuser@domain\fR mail addresses are not
|
||||||
|
# broken up into their \fIuser\fR and \fI@domain\fR constituent parts,
|
||||||
|
# nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Results are the same as with normal indexed file lookups, with
|
||||||
|
# the additional feature that parenthesized substrings from the
|
||||||
|
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
||||||
|
# BUGS
|
||||||
|
# The table format does not understand quoting conventions.
|
||||||
|
# CONFIGURATION PARAMETERS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
|
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
|
# and for default values. Use the \fBpostfix reload\fR command after
|
||||||
|
# a configuration change.
|
||||||
|
# .IP \fBcanonical_maps\fR
|
||||||
|
# List of canonical mapping tables.
|
||||||
|
# .IP \fBrecipient_canonical_maps\fR
|
||||||
|
# Address mapping lookup table for envelope and header recipient
|
||||||
|
# addresses.
|
||||||
|
# .IP \fBsender_canonical_maps\fR
|
||||||
|
# Address mapping lookup table for envelope and header sender
|
||||||
|
# addresses.
|
||||||
|
# .PP
|
||||||
|
# Other parameters of interest:
|
||||||
|
# .IP \fBinet_interfaces\fR
|
||||||
|
# The network interface addresses that this system receives mail on.
|
||||||
|
# .IP \fBmasquerade_domains\fR
|
||||||
|
# List of domains that hide their subdomain structure.
|
||||||
|
# .IP \fBmasquerade_exceptions\fR
|
||||||
|
# List of user names that are not subject to address masquerading.
|
||||||
|
# .IP \fBmydestination\fR
|
||||||
|
# List of domains that this mail system considers local.
|
||||||
|
# .IP \fBmyorigin\fR
|
||||||
|
# The domain that is appended to locally-posted mail.
|
||||||
|
# .IP \fBowner_request_special\fR
|
||||||
|
# Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR
|
||||||
|
# addresses.
|
||||||
|
# SEE ALSO
|
||||||
|
# cleanup(8) canonicalize and enqueue mail
|
||||||
|
# postmap(1) create mapping table
|
||||||
|
# virtual(5) virtual domain mapping
|
||||||
|
# pcre_table(5) format of PCRE tables
|
||||||
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
# LICENSE
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The Secure Mailer license must be distributed with this software.
|
||||||
|
# AUTHOR(S)
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
||||||
|
|
||||||
|
# By default, this file is not used. See sample-canonical.cf
|
79
postfix/proto/pcre_table
Normal file
79
postfix/proto/pcre_table
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# pcre_table 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix PCRE tables
|
||||||
|
# SYNOPSIS
|
||||||
|
# pcre:/etc/postfix/filename
|
||||||
|
# DESCRIPTION
|
||||||
|
# The Postfix mail system uses optional tables for address
|
||||||
|
# rewriting or mail routing. These tables are usually in
|
||||||
|
# \fBdbm\fR or \fBdb\fR format. Alternatively, lookup tables
|
||||||
|
# can be specified in Perl Compatible Regular Expression form.
|
||||||
|
#
|
||||||
|
# To find out what types of lookup tables your Postfix system
|
||||||
|
# supports use the \fBpostconf -m\fR command.
|
||||||
|
#
|
||||||
|
# The general form of a PCRE table is:
|
||||||
|
# .IP "blanks and comments"
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP "\fIpattern result\fR"
|
||||||
|
# When \fIpattern\fR matches a search string, use the corresponding
|
||||||
|
# \fIresult\fR. A line that starts with white space continues the
|
||||||
|
# preceding line.
|
||||||
|
# .PP
|
||||||
|
# Each pattern is a perl-like regular expression. The expression
|
||||||
|
# delimiter can be any character, except whitespace or characters
|
||||||
|
# that have special meaning (traditionally the forward slash is used).
|
||||||
|
# The regular expression can contain whitespace.
|
||||||
|
#
|
||||||
|
# By default, matching is case-insensitive, although following
|
||||||
|
# the second slash with an `i' flag will reverse this. Other flags
|
||||||
|
# are supported, but the only other useful one is `U', which makes
|
||||||
|
# matching ungreedy (see PCRE documentation and source for more
|
||||||
|
# info).
|
||||||
|
#
|
||||||
|
# Each pattern is applied to the entire string being looked up.
|
||||||
|
# Depending on the application, that string is an entire client
|
||||||
|
# hostname, an entire client IP address, or an entire mail address.
|
||||||
|
# Thus, no parent domain or parent network search is done, and
|
||||||
|
# \fIuser@domain\fR mail addresses are not broken up into their
|
||||||
|
# \fIuser\fR and \fIdomain\fR constituent parts, nor is \fIuser+foo\fR
|
||||||
|
# broken up into \fIuser\fR and \fIfoo\fR.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Substitution of sub-strings from the matched expression is
|
||||||
|
# possible using the conventional perl syntax ($1, $2, etc.). The
|
||||||
|
# macros in the replacement string may need to be written as ${n}
|
||||||
|
# or $(n) if they aren't followed by whitespace.
|
||||||
|
# EXAMPLES
|
||||||
|
# # Protect your outgoing majordomo exploders
|
||||||
|
# /^(?!owner-)(.*)-outgoing@(my\.domain)$/ 550 Use ${1}@${2} instead
|
||||||
|
#
|
||||||
|
# # Bounce friend@whatever, except when whatever is our domain (you would
|
||||||
|
# # be better just bouncing all friend@ mail - this is just an example).
|
||||||
|
# /^friend@(?!my\.domain).*$/ 550 Stick this in your pipe $0
|
||||||
|
#
|
||||||
|
# # A multi-line entry. The text is sent as one line.
|
||||||
|
# #
|
||||||
|
# /^noddy@connect\.com\.au$/
|
||||||
|
# \ 550 This user is a funny one. You really don't want to send mail to
|
||||||
|
# \ them as it only makes their head spin.
|
||||||
|
# SEE ALSO
|
||||||
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
# AUTHOR(S)
|
||||||
|
# The PCRE table lookup code was originally written by:
|
||||||
|
# Andrew McNamara
|
||||||
|
# andrewm@connect.com.au
|
||||||
|
# connect.com.au Pty. Ltd.
|
||||||
|
# Level 3, 213 Miller St
|
||||||
|
# North Sydney, NSW, Australia
|
||||||
|
#
|
||||||
|
# Adopted and adapted by:
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
83
postfix/proto/regexp_table
Normal file
83
postfix/proto/regexp_table
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# regexp_table 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix regular expression tables
|
||||||
|
# SYNOPSIS
|
||||||
|
# regexp:/etc/postfix/filename
|
||||||
|
# DESCRIPTION
|
||||||
|
# The Postfix mail system uses optional tables for address
|
||||||
|
# rewriting or mail routing. These tables are usually in
|
||||||
|
# \fBdbm\fR or \fBdb\fR format. Alternatively, lookup tables
|
||||||
|
# can be specified in POSIX regular expression form.
|
||||||
|
#
|
||||||
|
# To find out what types of lookup tables your Postfix system
|
||||||
|
# supports use the \fBpostconf -m\fR command.
|
||||||
|
#
|
||||||
|
# The general form of a Postfix regular expression table is:
|
||||||
|
# .IP "blanks and comments"
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP "\fIpattern result\fR"
|
||||||
|
# When \fIpattern\fR matches a search string, use the corresponding
|
||||||
|
# \fIresult\fR. A line that starts with white space continues the
|
||||||
|
# preceding line.
|
||||||
|
# .IP "\fIpattern1!pattern2 result\fR"
|
||||||
|
# Matches \fIpattern1\fR but not \fIpattern2\fR.
|
||||||
|
# .PP
|
||||||
|
# Each pattern is a regular expression enclosed by a pair of delimiters.
|
||||||
|
# The regular expression syntax is described in \fIre_format\fR(7).
|
||||||
|
# The expression delimiter can be any character, except whitespace
|
||||||
|
# or characters that have special meaning (traditionally the forward
|
||||||
|
# slash is used). The regular expression can contain whitespace.
|
||||||
|
#
|
||||||
|
# By default, matching is case-insensitive, although following
|
||||||
|
# the second slash with an `i' flag will reverse this. Other flags
|
||||||
|
# are `x' (disable extended expression syntax), and `m' (enable
|
||||||
|
# multi-line mode).
|
||||||
|
#
|
||||||
|
# Each pattern is applied to the entire string being looked up.
|
||||||
|
# Depending on the application, that string is an entire client
|
||||||
|
# hostname, an entire client IP address, or an entire mail address.
|
||||||
|
# Thus, no parent domain or parent network search is done, and
|
||||||
|
# \fIuser@domain\fR mail addresses are not broken up into their
|
||||||
|
# \fIuser\fR and \fIdomain\fR constituent parts, nor is \fIuser+foo\fR
|
||||||
|
# broken up into \fIuser\fR and \fIfoo\fR.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Substitution of sub-strings from the matched expression is
|
||||||
|
# possible using $1, $2, etc.. The macros in the replacement string
|
||||||
|
# may need to be written as ${n} or $(n) if they aren't followed
|
||||||
|
# by whitespace.
|
||||||
|
# EXAMPLES
|
||||||
|
# # Disallow sender-specified routing. This is a must if you relay mail
|
||||||
|
# # for other domains.
|
||||||
|
# /[%!@].*[%!@]/ 550 Sender-specified routing rejected
|
||||||
|
#
|
||||||
|
# # Postmaster is OK, that way they can talk to us about how to fix
|
||||||
|
# # their problem.
|
||||||
|
# /^postmaster@.*$/ OK
|
||||||
|
#
|
||||||
|
# # Protect your outgoing majordomo exploders
|
||||||
|
# /^(.*)-outgoing@(.*)$/!/^owner-.*/ 550 Use ${1}@${2} instead
|
||||||
|
# SEE ALSO
|
||||||
|
# pcre_table(5) format of PCRE tables
|
||||||
|
# AUTHOR(S)
|
||||||
|
# The regexp table lookup code was originally written by:
|
||||||
|
# LaMont Jones
|
||||||
|
# lamont@hp.com
|
||||||
|
#
|
||||||
|
# That code was based on the PCRE dictionary contributed by:
|
||||||
|
# Andrew McNamara
|
||||||
|
# andrewm@connect.com.au
|
||||||
|
# connect.com.au Pty. Ltd.
|
||||||
|
# Level 3, 213 Miller St
|
||||||
|
# North Sydney, NSW, Australia
|
||||||
|
#
|
||||||
|
# Adopted and adapted by:
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
112
postfix/proto/relocated
Normal file
112
postfix/proto/relocated
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# relocated 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix relocated table
|
||||||
|
# SYNOPSIS
|
||||||
|
# \fBpostmap /etc/postfix/relocated\fR
|
||||||
|
# DESCRIPTION
|
||||||
|
# The optional \fBrelocated\fR file provides the information that is
|
||||||
|
# used in "user has moved to \fInew_location\fR" bounce messages.
|
||||||
|
#
|
||||||
|
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
||||||
|
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
||||||
|
# is used for fast searching by the mail system. After an update
|
||||||
|
# issue a \fBpostfix reload\fR command to make the change visible.
|
||||||
|
#
|
||||||
|
# When the table is provided via other means such as NIS, LDAP
|
||||||
|
# or SQL, the same lookups are done as for ordinary indexed files.
|
||||||
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-expression
|
||||||
|
# map where patterns are given as regular expressions. In that case,
|
||||||
|
# the lookups are done in a slightly different way as described below.
|
||||||
|
#
|
||||||
|
# Table lookups are case insensitive.
|
||||||
|
# TABLE FORMAT
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The format of the table is as follows:
|
||||||
|
# .IP \(bu
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP \(bu
|
||||||
|
# An entry has one of the following form:
|
||||||
|
# .ti +5
|
||||||
|
# \fIkey new_location\fR
|
||||||
|
# .br
|
||||||
|
# Where \fInew_location\fR specifies contact information such as
|
||||||
|
# an email address, or perhaps a street address or telephone number.
|
||||||
|
# .PP
|
||||||
|
# With lookups from indexed files such as DB or DBM, or from networked
|
||||||
|
# tables such as NIS, LDAP or SQL, the \fIkey\fR field is one of the
|
||||||
|
# following:
|
||||||
|
# .IP \fIuser\fR@\fIdomain\fR
|
||||||
|
# Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all
|
||||||
|
# other forms.
|
||||||
|
# .IP \fIuser\fR
|
||||||
|
# Matches \fIuser\fR@\fIsite\fR when \fIsite\fR is $\fBmyorigin\fR,
|
||||||
|
# when \fIsite\fR is listed in $\fBmydestination\fR, or when \fIsite\fR
|
||||||
|
# is listed in $\fBinet_interfaces\fR.
|
||||||
|
# .IP @\fIdomain\fR
|
||||||
|
# Matches every address in \fIdomain\fR. This form has the lowest
|
||||||
|
# precedence.
|
||||||
|
# ADDRESS EXTENSION
|
||||||
|
# .fi
|
||||||
|
# .ad
|
||||||
|
# When the search fails, and the address localpart contains the
|
||||||
|
# optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR),
|
||||||
|
# the search is repeated for the unextended address (e.g.
|
||||||
|
# \fIuser\fR@\fIdomain\fR).
|
||||||
|
# REGULAR EXPRESSION TABLES
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# This section describes how the table lookups change when the table
|
||||||
|
# is given in the form of regular expressions. For a description of
|
||||||
|
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
||||||
|
# or \fBpcre_table\fR(5).
|
||||||
|
#
|
||||||
|
# Each pattern is a regular expression that is applied to the entire
|
||||||
|
# address being looked up. Thus, \fIuser@domain\fR mail addresses are not
|
||||||
|
# broken up into their \fIuser\fR and \fI@domain\fR constituent parts,
|
||||||
|
# nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Results are the same as with normal indexed file lookups, with
|
||||||
|
# the additional feature that parenthesized substrings from the
|
||||||
|
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
||||||
|
# BUGS
|
||||||
|
# The table format does not understand quoting conventions.
|
||||||
|
# CONFIGURATION PARAMETERS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
|
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
|
# and for default values. Use the \fBpostfix reload\fR command after
|
||||||
|
# a configuration change.
|
||||||
|
# .IP \fBrelocated_maps\fR
|
||||||
|
# List of lookup tables for relocated users or sites.
|
||||||
|
# .PP
|
||||||
|
# Other parameters of interest:
|
||||||
|
# .IP \fBinet_interfaces\fR
|
||||||
|
# The network interface addresses that this system receives mail on.
|
||||||
|
# .IP \fBmydestination\fR
|
||||||
|
# List of domains that this mail system considers local.
|
||||||
|
# .IP \fBmyorigin\fR
|
||||||
|
# The domain that is appended to locally-posted mail.
|
||||||
|
# SEE ALSO
|
||||||
|
# postmap(1) create lookup table
|
||||||
|
# pcre_table(5) format of PCRE tables
|
||||||
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
# LICENSE
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The Secure Mailer license must be distributed with this software.
|
||||||
|
# AUTHOR(S)
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
||||||
|
|
||||||
|
# By default, this file is not used. See sample-relocated.cf
|
158
postfix/proto/transport
Normal file
158
postfix/proto/transport
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# transport 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix transport table
|
||||||
|
# SYNOPSIS
|
||||||
|
# \fBpostmap /etc/postfix/transport\fR
|
||||||
|
# DESCRIPTION
|
||||||
|
# The optional \fBtransport\fR file specifies a mapping from domain
|
||||||
|
# hierarchies to message delivery transports and/or relay hosts. The
|
||||||
|
# mapping is used by the \fBtrivial-rewrite\fR(8) daemon.
|
||||||
|
#
|
||||||
|
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
||||||
|
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used
|
||||||
|
# for fast searching by the mail system. After updating this table,
|
||||||
|
# issue the \fBpostfix reload\fR command to make the change visible.
|
||||||
|
#
|
||||||
|
# When the table is provided via other means such as NIS, LDAP
|
||||||
|
# or SQL, the same lookups are done as for ordinary indexed files.
|
||||||
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-expression
|
||||||
|
# map where patterns are given as regular expressions. In that case,
|
||||||
|
# the lookups are done in a slightly different way as described below.
|
||||||
|
# TABLE FORMAT
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The format of the transport table is as follows:
|
||||||
|
# .IP "blanks and comments"
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP "\fIpattern result\fR"
|
||||||
|
# When \fIpattern\fR matches the domain, use the corresponding
|
||||||
|
# \fIresult\fR.
|
||||||
|
# .PP
|
||||||
|
# With lookups from indexed files such as DB or DBM, or from networked
|
||||||
|
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
||||||
|
# listed below:
|
||||||
|
# .IP "\fIdomain transport\fR:\fInexthop\fR"
|
||||||
|
# Mail for \fIdomain\fR is delivered through \fItransport\fR to
|
||||||
|
# \fInexthop\fR.
|
||||||
|
# .IP "\fI.domain transport\fR:\fInexthop\fR"
|
||||||
|
# Mail for any subdomain of \fIdomain\fR is delivered through
|
||||||
|
# \fItransport\fR to \fInexthop\fR.
|
||||||
|
# .PP
|
||||||
|
# Note: transport map entries take precedence over domains
|
||||||
|
# specified in the \fBmydestination\fR parameter. If you use
|
||||||
|
# the optional transport map, it may be safer to specify explicit
|
||||||
|
# entries for all domains specified in \fBmydestination\fR,
|
||||||
|
# for example:
|
||||||
|
#
|
||||||
|
# .ti +5
|
||||||
|
# \fBhostname.my.domain local:\fR
|
||||||
|
# .ti +5
|
||||||
|
# \fBlocalhost.my.domain local:\fR
|
||||||
|
#
|
||||||
|
# The interpretation of the \fInexthop\fR field is transport
|
||||||
|
# dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
|
||||||
|
# non-default server port, and use [\fIhost\fR] or [\fIhost\fR:\fIport\fR]
|
||||||
|
# in order to disable MX (mail exchanger) DNS lookups. The [] form
|
||||||
|
# can also be used with IP addresses instead of hostnames.
|
||||||
|
# EXAMPLES
|
||||||
|
# .ad
|
||||||
|
# In order to send mail for \fBfoo.org\fR and its subdomains
|
||||||
|
# via the \fBuucp\fR transport to the UUCP host named \fBfoo\fR:
|
||||||
|
#
|
||||||
|
# .ti +5
|
||||||
|
# \fBfoo.org uucp:foo\fR
|
||||||
|
# .ti +5
|
||||||
|
# \fB\&.foo.org uucp:foo\fR
|
||||||
|
#
|
||||||
|
# When no \fInexthop\fR host name is specified, the destination domain
|
||||||
|
# name is used instead. For example, the following directs mail for
|
||||||
|
# \fIuser\fR@\fBfoo.org\fR via the \fBslow\fR transport to a mail
|
||||||
|
# exchanger for \fBfoo.org\fR. The \fBslow\fR transport could be
|
||||||
|
# something that runs at most one delivery process at a time:
|
||||||
|
#
|
||||||
|
# .ti +5
|
||||||
|
# \fBfoo.org slow:\fR
|
||||||
|
#
|
||||||
|
# When no \fItransport\fR is specified, the default transport is
|
||||||
|
# used, as specified via the \fBdefault_transport\fR configuration
|
||||||
|
# parameter. The following sends all mail for \fBfoo.org\fR and its
|
||||||
|
# subdomains to host \fBgateway.foo.org\fR:
|
||||||
|
#
|
||||||
|
# .ti +5
|
||||||
|
# \fBfoo.org :[gateway.foo.org]\fR
|
||||||
|
# .ti +5
|
||||||
|
# \fB\&.foo.org :[gateway.foo.org]\fR
|
||||||
|
#
|
||||||
|
# In the above example, the [] are used to suppress MX lookups.
|
||||||
|
# The result would likely point to your local machine.
|
||||||
|
#
|
||||||
|
# In the case of delivery via SMTP, one may specify
|
||||||
|
# \fIhostname\fR:\fIservice\fR instead of just a host:
|
||||||
|
#
|
||||||
|
# .ti +5
|
||||||
|
# \fBfoo.org smtp:bar.org:2025\fR
|
||||||
|
#
|
||||||
|
# This directs mail for \fIuser\fR@\fBfoo.org\fR to host \fBbar.org\fR
|
||||||
|
# port \fB2025\fR. Instead of a numerical port a symbolic name may be
|
||||||
|
# used. Specify [] around the destination in order to disable MX lookups.
|
||||||
|
#
|
||||||
|
# The error mailer can be used to bounce mail:
|
||||||
|
#
|
||||||
|
# .ti +5
|
||||||
|
# \fB\&.foo.org error:mail for *.foo.org is not deliverable\fR
|
||||||
|
#
|
||||||
|
# This causes all mail for \fIuser\fR@\fIanything\fBfoo.org\fR
|
||||||
|
# to be bounced.
|
||||||
|
# REGULAR EXPRESSION TABLES
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# This section describes how the table lookups change when the table
|
||||||
|
# is given in the form of regular expressions. For a description of
|
||||||
|
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
||||||
|
# or \fBpcre_table\fR(5).
|
||||||
|
#
|
||||||
|
# Each pattern is a regular expression that is applied to the entire
|
||||||
|
# domain being looked up. Thus, \fIsome.domain.hierarchy\fR is not
|
||||||
|
# broken up into parent domains.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Results are the same as with normal indexed file lookups, with
|
||||||
|
# the additional feature that parenthesized substrings from the
|
||||||
|
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
||||||
|
# CONFIGURATION PARAMETERS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
|
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
|
# and for default values. Use the \fBpostfix reload\fR command after
|
||||||
|
# a configuration change.
|
||||||
|
# .IP \fBtransport_maps\fR
|
||||||
|
# List of transport lookup tables.
|
||||||
|
# .PP
|
||||||
|
# Other parameters of interest:
|
||||||
|
# .IP \fBdefault_transport\fR
|
||||||
|
# The transport to use when no transport is explicitly specified.
|
||||||
|
# .IP \fBrelayhost\fR
|
||||||
|
# The default host to send to when no transport table entry matches.
|
||||||
|
# SEE ALSO
|
||||||
|
# postmap(1) create mapping table
|
||||||
|
# trivial-rewrite(8) rewrite and resolve addresses
|
||||||
|
# pcre_table(5) format of PCRE tables
|
||||||
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
# LICENSE
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The Secure Mailer license must be distributed with this software.
|
||||||
|
# AUTHOR(S)
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
||||||
|
|
||||||
|
# By default, this file is not used. See sample-transport.cf
|
142
postfix/proto/virtual
Normal file
142
postfix/proto/virtual
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
#++
|
||||||
|
# NAME
|
||||||
|
# virtual 5
|
||||||
|
# SUMMARY
|
||||||
|
# format of Postfix virtual table
|
||||||
|
# SYNOPSIS
|
||||||
|
# \fBpostmap /etc/postfix/virtual\fR
|
||||||
|
# DESCRIPTION
|
||||||
|
# The optional \fBvirtual\fR table specifies redirections for local
|
||||||
|
# and non-local recipients or domains. The redirections are used by
|
||||||
|
# the \fBcleanup\fR(8) daemon. The redirections are recursive.
|
||||||
|
#
|
||||||
|
# The \fBvirtual\fR redirection is applied only to the recipient
|
||||||
|
# envelope address, and does not affect message headers.
|
||||||
|
# Think Sendmail rule set \fBS0\fR, if you like. Use \fBcanonical\fR(5)
|
||||||
|
# mapping to rewrite header and envelope addresses in general.
|
||||||
|
#
|
||||||
|
# Normally, the file serves as input to the \fBpostmap\fR(1) command.
|
||||||
|
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
|
||||||
|
# is used for fast searching by the mail system. After an update
|
||||||
|
# it may take a minute or so before the change becomes visible.
|
||||||
|
# Issue a \fBpostfix reload\fR command to eliminate the delay.
|
||||||
|
#
|
||||||
|
# When the table is provided via other means such as NIS, LDAP
|
||||||
|
# or SQL, the same lookups are done as for ordinary indexed files.
|
||||||
|
#
|
||||||
|
# Alternatively, the table can be provided as a regular-expression
|
||||||
|
# map where patterns are given as regular expressions. In that case,
|
||||||
|
# the lookups are done in a slightly different way as described below.
|
||||||
|
# TABLE FORMAT
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# Typical support for a virtual domain looks like the following:
|
||||||
|
#
|
||||||
|
# .in +4
|
||||||
|
# .nf
|
||||||
|
# \fIvirtual.domain anything\fR (right-hand content does not matter)
|
||||||
|
# \fIuser1@virtual.domain address1\fR
|
||||||
|
# \fIuser2@virtual.domain address2, address3\fR
|
||||||
|
# .fi
|
||||||
|
# .in -4
|
||||||
|
#
|
||||||
|
# With this, the SMTP server accepts mail for \fIvirtual.domain\fR and
|
||||||
|
# rejects mail for \fIunknown\fR@\fIvirtual.domain\fR as undeliverable.
|
||||||
|
#
|
||||||
|
# The format of the virtual table is as follows, mappings being
|
||||||
|
# tried in the order as listed in this manual page:
|
||||||
|
# .IP "blanks and comments"
|
||||||
|
# Blank lines are ignored, as are lines beginning with `#'.
|
||||||
|
# .IP "\fIpattern result\fR"
|
||||||
|
# When \fIpattern\fR matches a mail address, replace it by the
|
||||||
|
# corresponding \fIresult\fR.
|
||||||
|
# .PP
|
||||||
|
# With lookups from indexed files such as DB or DBM, or from networked
|
||||||
|
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
|
||||||
|
# listed below:
|
||||||
|
# .IP "\fIuser\fR@\fIdomain address, address, ...\fR"
|
||||||
|
# Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
|
||||||
|
# This form has the highest precedence.
|
||||||
|
# .IP "\fIuser address, address, ...\fR"
|
||||||
|
# Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
|
||||||
|
# \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
|
||||||
|
# $\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
|
||||||
|
# .sp
|
||||||
|
# This functionality overlaps with functionality of the local
|
||||||
|
# \fIalias\fR(5) database. The difference is that \fBvirtual\fR
|
||||||
|
# mapping can be applied to non-local addresses.
|
||||||
|
# .IP "@\fIdomain address, address, ...\fR"
|
||||||
|
# Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
|
||||||
|
# This form has the lowest precedence.
|
||||||
|
# .PP
|
||||||
|
# In all the above forms, when \fIaddress\fR has the form
|
||||||
|
# @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
|
||||||
|
# This works for the first address in the expansion only.
|
||||||
|
# ADDRESS EXTENSION
|
||||||
|
# .fi
|
||||||
|
# .ad
|
||||||
|
# When the search fails, and the address localpart contains the
|
||||||
|
# optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR),
|
||||||
|
# the search is repeated for the unextended address (e.g.
|
||||||
|
# \fIuser\fR@\fIdomain\fR), and the unmatched address extension is
|
||||||
|
# propagated to the result of expansion. The matching order is:
|
||||||
|
# \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR,
|
||||||
|
# \fIuser+foo\fR, \fIuser\fR, and @\fIdomain\fR.
|
||||||
|
# REGULAR EXPRESSION TABLES
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# This section describes how the table lookups change when the table
|
||||||
|
# is given in the form of regular expressions. For a description of
|
||||||
|
# regular expression lookup table syntax, see \fBregexp_table\fR(5)
|
||||||
|
# or \fBpcre_table\fR(5).
|
||||||
|
#
|
||||||
|
# Each pattern is a regular expression that is applied to the entire
|
||||||
|
# address being looked up. Thus, \fIuser@domain\fR mail addresses are not
|
||||||
|
# broken up into their \fIuser\fR and \fI@domain\fR constituent parts,
|
||||||
|
# nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR.
|
||||||
|
#
|
||||||
|
# Patterns are applied in the order as specified in the table, until a
|
||||||
|
# pattern is found that matches the search string.
|
||||||
|
#
|
||||||
|
# Results are the same as with normal indexed file lookups, with
|
||||||
|
# the additional feature that parenthesized substrings from the
|
||||||
|
# pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on.
|
||||||
|
# BUGS
|
||||||
|
# The table format does not understand quoting conventions.
|
||||||
|
# CONFIGURATION PARAMETERS
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
|
# this topic. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
|
# and for default values. Use the \fBpostfix reload\fR command after
|
||||||
|
# a configuration change.
|
||||||
|
# .IP \fBvirtual_maps\fR
|
||||||
|
# List of virtual mapping tables.
|
||||||
|
# .PP
|
||||||
|
# Other parameters of interest:
|
||||||
|
# .IP \fBinet_interfaces\fR
|
||||||
|
# The network interface addresses that this system receives mail on.
|
||||||
|
# .IP \fBmydestination\fR
|
||||||
|
# List of domains that this mail system considers local.
|
||||||
|
# .IP \fBmyorigin\fR
|
||||||
|
# The domain that is appended to locally-posted mail.
|
||||||
|
# .IP \fBowner_request_special\fR
|
||||||
|
# Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR
|
||||||
|
# addresses.
|
||||||
|
# SEE ALSO
|
||||||
|
# cleanup(8) canonicalize and enqueue mail
|
||||||
|
# postmap(1) create mapping table
|
||||||
|
# pcre_table(5) format of PCRE tables
|
||||||
|
# regexp_table(5) format of POSIX regular expression tables
|
||||||
|
# LICENSE
|
||||||
|
# .ad
|
||||||
|
# .fi
|
||||||
|
# The Secure Mailer license must be distributed with this software.
|
||||||
|
# AUTHOR(S)
|
||||||
|
# Wietse Venema
|
||||||
|
# IBM T.J. Watson Research
|
||||||
|
# P.O. Box 704
|
||||||
|
# Yorktown Heights, NY 10598, USA
|
||||||
|
#--
|
||||||
|
|
||||||
|
# By default, this file is not used. See sample-virtual.cf
|
1
postfix/qmgr/.indent.pro
vendored
1
postfix/qmgr/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -138,10 +138,10 @@
|
|||||||
/* CONFIGURATION PARAMETERS
|
/* CONFIGURATION PARAMETERS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
/* The following \fBmain.cf\fR parameters are especially relevant to
|
/* The following \fBmain.cf\fR parameters are especially relevant to
|
||||||
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
/* this program. See the Postfix \fBmain.cf\fR file for syntax details
|
||||||
/* and for default values. Use the \fBpostfix reload\fR command after
|
/* and for default values. Use the \fBpostfix reload\fR command after
|
||||||
/* a configuration change.
|
/* a configuration change.
|
||||||
/* .SH Miscellaneous
|
/* .SH Miscellaneous
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
|
@@ -135,9 +135,9 @@ extern QMGR_TRANSPORT *qmgr_transport_find(const char *);
|
|||||||
* transactions. The "todo" queue contains messages that are to be delivered
|
* transactions. The "todo" queue contains messages that are to be delivered
|
||||||
* to this next hop. When a message is elected for transmission, it is moved
|
* to this next hop. When a message is elected for transmission, it is moved
|
||||||
* from the "todo" queue to the "busy" queue. Messages are taken from the
|
* from the "todo" queue to the "busy" queue. Messages are taken from the
|
||||||
* "todo" queue by randomly choosing between the first and the last queue
|
* "todo" queue in sequence. An initial destination delivery concurrency > 1
|
||||||
* entries. This ensures that one problematic message will not block all
|
* ensures that one problematic message will not block all other traffic to
|
||||||
* other traffic to that next hop.
|
* that next hop.
|
||||||
*/
|
*/
|
||||||
struct QMGR_ENTRY_LIST {
|
struct QMGR_ENTRY_LIST {
|
||||||
QMGR_ENTRY *next;
|
QMGR_ENTRY *next;
|
||||||
|
@@ -209,7 +209,8 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
|
|||||||
*/
|
*/
|
||||||
if (message->rcpt_offset) {
|
if (message->rcpt_offset) {
|
||||||
if (message->rcpt_list.len)
|
if (message->rcpt_list.len)
|
||||||
msg_panic("%s: recipient list not empty on recipient reload", message->queue_id);
|
msg_panic("%s: recipient list not empty on recipient reload",
|
||||||
|
message->queue_id);
|
||||||
if (vstream_fseek(message->fp, message->rcpt_offset, SEEK_SET) < 0)
|
if (vstream_fseek(message->fp, message->rcpt_offset, SEEK_SET) < 0)
|
||||||
msg_fatal("seek file %s: %m", VSTREAM_PATH(message->fp));
|
msg_fatal("seek file %s: %m", VSTREAM_PATH(message->fp));
|
||||||
message->rcpt_offset = 0;
|
message->rcpt_offset = 0;
|
||||||
|
1
postfix/sendmail/.indent.pro
vendored
1
postfix/sendmail/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/showq/.indent.pro
vendored
1
postfix/showq/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
1
postfix/smtp/.indent.pro
vendored
1
postfix/smtp/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
@@ -85,6 +85,8 @@
|
|||||||
/* .IP \fBnotify_classes\fR
|
/* .IP \fBnotify_classes\fR
|
||||||
/* When this parameter includes the \fBprotocol\fR class, send mail to the
|
/* When this parameter includes the \fBprotocol\fR class, send mail to the
|
||||||
/* postmaster with transcripts of SMTP sessions with protocol errors.
|
/* postmaster with transcripts of SMTP sessions with protocol errors.
|
||||||
|
/* .IP \fBsmtp_always_send_ehlo\fR
|
||||||
|
/* Always send EHLO at the start of a connection.
|
||||||
/* .IP \fBsmtp_skip_4xx_greeting\fR
|
/* .IP \fBsmtp_skip_4xx_greeting\fR
|
||||||
/* Skip servers that greet us with a 4xx status code.
|
/* Skip servers that greet us with a 4xx status code.
|
||||||
/* .IP \fBsmtp_skip_5xx_greeting\fR
|
/* .IP \fBsmtp_skip_5xx_greeting\fR
|
||||||
@@ -207,6 +209,7 @@ int var_skip_quit_resp;
|
|||||||
char *var_fallback_relay;
|
char *var_fallback_relay;
|
||||||
char *var_bestmx_transp;
|
char *var_bestmx_transp;
|
||||||
char *var_error_rcpt;
|
char *var_error_rcpt;
|
||||||
|
int var_smtp_always_ehlo;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Global variables. smtp_errno is set by the address lookup routines and by
|
* Global variables. smtp_errno is set by the address lookup routines and by
|
||||||
@@ -356,6 +359,7 @@ int main(int argc, char **argv)
|
|||||||
VAR_SMTP_SKIP_5XX, DEF_SMTP_SKIP_5XX, &var_smtp_skip_5xx_greeting,
|
VAR_SMTP_SKIP_5XX, DEF_SMTP_SKIP_5XX, &var_smtp_skip_5xx_greeting,
|
||||||
VAR_IGN_MX_LOOKUP_ERR, DEF_IGN_MX_LOOKUP_ERR, &var_ign_mx_lookup_err,
|
VAR_IGN_MX_LOOKUP_ERR, DEF_IGN_MX_LOOKUP_ERR, &var_ign_mx_lookup_err,
|
||||||
VAR_SKIP_QUIT_RESP, DEF_SKIP_QUIT_RESP, &var_skip_quit_resp,
|
VAR_SKIP_QUIT_RESP, DEF_SKIP_QUIT_RESP, &var_skip_quit_resp,
|
||||||
|
VAR_SMTP_ALWAYS_EHLO, DEF_SMTP_ALWAYS_EHLO, &var_smtp_always_ehlo,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -261,6 +261,7 @@ SMTP_SESSION *smtp_connect_host(char *host, unsigned port, VSTRING *why)
|
|||||||
session->best = 1;
|
session->best = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
msg_info("%s (port %d)", vstring_str(why), ntohs(port));
|
||||||
}
|
}
|
||||||
dns_rr_free(addr_list);
|
dns_rr_free(addr_list);
|
||||||
return (session);
|
return (session);
|
||||||
|
@@ -183,6 +183,8 @@ int smtp_helo(SMTP_STATE *state)
|
|||||||
} else if (strcasecmp(word, "ESMTP") == 0)
|
} else if (strcasecmp(word, "ESMTP") == 0)
|
||||||
state->features |= SMTP_FEATURE_ESMTP;
|
state->features |= SMTP_FEATURE_ESMTP;
|
||||||
}
|
}
|
||||||
|
if (var_smtp_always_ehlo)
|
||||||
|
state->features |= SMTP_FEATURE_ESMTP;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the compliment. Fall back to SMTP if our ESMTP recognition
|
* Return the compliment. Fall back to SMTP if our ESMTP recognition
|
||||||
|
1
postfix/smtpd/.indent.pro
vendored
1
postfix/smtpd/.indent.pro
vendored
@@ -64,6 +64,7 @@
|
|||||||
-TNAMADR_LIST
|
-TNAMADR_LIST
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-TPENDING
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
-TPIPE_PARAMS
|
-TPIPE_PARAMS
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user