REGEXP_TABLE(5)                                   REGEXP_TABLE(5)

NAME regexp_table - format of Postfix regular expression tables SYNOPSIS postmap -q "string" regexp:/etc/postfix/filename postmap -q - regexp:/etc/postfix/filename <inputfile DESCRIPTION Sistem email Postfix menggunakan tabel opsional untuk me-
lakukan address rewriting atau mail routing. Tabel-tabel
ini biasanya dalam bentuk dbm atau db. Sebagai alternatif,
tabel pencarian bisa menggunakan bentuk dari POSIX regular
expression.

Untuk melihat tabel pencarian apa yang didukung oleh sis-
tem Postfix anda gunakan perintah postconf -m.

Untuk mengetest tabel pencarian, gunakan perintah postmap
seperti yang diterangkan pada SYNOPSIS diatas.

TABLE FORMAT Bentuk umum dari tabel regular expression di Postfix adalah:

/pattern/flags result !/pattern/flags result Ketika pattern sesuai (tidak sesuai) dengan string
pencarian, maka result akan digunakan.

blank lines and comments
Baris kosong dan baris yang hanya berisi spasi dia-
baikan seperti halnya baris dengan awalan bertanda
 `#'.

multi-line text
Baris yang dimulai tanpa spasi akan dianggap seba-
gai baris entry/logic. Baris yang dimulai spasi ju-
ga dianggap sebagai baris entry/logic.

if /pattern/flags if !/pattern/flags endif Sesuai dengan pola string pencarian diantara if dan
endif, jika dan hanya jika string pencarian sesuai
(dan tidak sesuai) dengan pattern. if..endif bisa
bersarang.

Catatan: jangan menggunakan pola dengan spasi dida-
lam if..endif.

Setiap pola regular expression tertutup oleh sepasang pemi-
sah. Sintaks regular expression dijelaskan dalam re_format
(7). Pemisah expression dapat berupa sembarang karakter,
kecuali spasi atau karakter yang mempunyai arti spesial
(biasanya slash akan digunakan). Regular expression bisa
bisa mengandung spasi.

Pada dasarnya, besar-kecilnya huruf tidak diperhatikan, ke
cuali jika pada tanda slash kedua diikuti dengan flag `i'.
Flag yang lain adalah `x' (non aktifkan sintak extended
expression), dan `m' (aktifkan mode multi-line, yang mem-
berlakukan baris baru sebagai spesial).


TABLE SEARCH ORDER Pola akan diterapkan secara berurutan seperti yang diten-
tukan dalam tabel, sampai akhirnya pola tersebut ditemukan
berdasarkan string pencarian.

Setiap pola diterapkan ke seluruh string kunci pencarian.
Tergantung dari aplikasi, string tersebut bisa berupa se-
luruh client hostname, seluruh alamat IP client, atau se-
luruh alamat email. Maka, tidak ada pencarian terhadap
induk domain atau induk network yang dilakukan, dan alamat
email user@domain tidak akan dipisah sebagai user dan do-
main
, begitu juga user+foo tidak dipisah menjadi user dan
foo.

TEXT SUBSTITUTION Penggantian bentuk substring dari ekpresi yang tepat keda-
lam string hasil adalah dimungkinkan menggunakan $1, $2,
dan lain sebagainya. Sistem makro pada string hasil mung-
kin perlu ditulis sebagai ${n} atau $(n) jika tidak diiku-
ti oleh spasi.

Catatan: karena pola negasi (ditandai dengan !) selalu me-
ngembalikan hasil ketika ekspresi tidak sesuai, maka sub-
titusi tidak bisa dilakukan untuk pola negasi.

EXAMPLE SMTPD ACCESS MAP # Tolak sender-specified routing. Ini harus anda sertakan
# jika anda merelay email untuk domain yang lain.
/[%!@].*[%!@]/ 550 Sender-specified routing rejected # Postmaster OK, itu adalah cara berkomunikasi untuk mem-
# betulkan masalah di mereka.
/^postmaster@/ OK # Lindungi outgoing majordomo exploder anda.
if !/^owner-/ /^(.*)-outgoing@(.*)$/ 550 Use ${1}@${2} instead endif EXAMPLE HEADER FILTER MAP # Contoh dibawah ini adalah bentuk umum email sampah.
/^Subject: make money fast/ REJECT /^To: friend@public\.com/ REJECT EXAMPLE BODY FILTER MAP # Pertama lewati text yang menggunakan encoding base 64
# untuk menyelamatkan CPU cycle.
~^[[:alnum:]+/]{60,}$~ OK # Letakkan pola body message disini.
SEE ALSO pcre_table(5) format of PCRE tables
cidr_table(5) format of CIDR tables
tcp_table(5) TCP client/server table lookup protocol

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 REGEXP_TABLE(5)