2001-03-13 20:45:02 +03:00
|
|
|
#++
|
|
|
|
# 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 "leading whitespace"
|
|
|
|
# Lines that begin with whitespace continue the previous line.
|
|
|
|
# .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).
|
|
|
|
#
|
2001-05-08 08:55:29 +04:00
|
|
|
# Each pattern is applied to the entire lookup key string.
|
2001-03-13 20:45:02 +03:00
|
|
|
# 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.
|
|
|
|
#
|
2001-05-08 08:55:29 +04:00
|
|
|
# Substitution of substrings from the matched expression into the result
|
|
|
|
# string is possible using the conventional perl syntax ($1, $2, etc.).
|
|
|
|
# The macros in the result string may need to be written as ${n}
|
2001-03-13 20:45:02 +03:00
|
|
|
# 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
|
|
|
|
#--
|