PIPE(8) PIPE(8)
NAMA
pipe - Pengiriman Postfix ke perintah external
SINOPSIS
pipe [generic Postfix daemon options] command_attributes...
DESKRIPSI
Daemon pipe memproses permintaan dari manajer antruan un-
tuk mengirimkan pesan ke perintah eksternal. Program ini
diharapkan untuk dapat dijalankan dari manajer proses mas-
ter(8).
Atribut pesan seperti alamat pengirim, alamat penerima dan
nama host untuk hop berikutnya dapat dicantumkan dalam ba-
ris perintah makro yang dikembangkan sebelum perintah eks-
ternal dieksekusi.
Daemon pipe mengupdate file antrian dan menandai penerima
menjadi selesai, atau menginformasikan manajer antrian ka-
lau pengiriman dapat dicoba lagi lain waktu. Masalah pe-
ngiriman dilaporkan pada daemon bounce(8) atau defer(8)
sebagai yang bersangkutan.
PENGIRIMAN DENGAN SATU PENERIMA
Beberapa perintah eksternal tidak dapat menghandel lebih
dari satu penerima setiap pengiriman. Cotohnya adalah pada
pager, mesin fax, dan sebagainya.
Untuk mencegah Postfix mengirimkan banyak penerima setiap
pengiriman, cantumkan
transport_destination_recipient_limit = 1
pada file main.cf, dimana transport adalah nama dari kolom
pertama dari masukan yang ada pada file Postfix master.cf
untuk pengiriman berdasarkan koneksi.
SINTAKS ATRIBUT PERINTAH
Atribut perintah eksternal diberikan pada file master.cf
pada akhir definisi service. Sintaksnya adalah sebagai be-
rikut:
flags=BDFORhqu.> (opsional)
Flag pemrosesan pesan opsional. Secara default, se-
pesan di-copy tanpa diubah.
B Menambahkan baris kosong pada akhir setiap
pesan. Ini sangat diperlukan pada sebagian
mail agent yang mengenal baris "From" hanya
saat didahului oleh baris kosong.
D Tambahkan header "Delivered-To: recipient"
pada pada alamat penerima. Catatan: untuk
pekerjaan ini, nilau transport_destination_
recipient_limit harus 1.
F Tambahkan header "From sender time_stamp" ke
isi pesan. Ini sangat diharapkan, contohnya
software UUCP.
O Tambahkan header "X-Original-To: recipient"
dengan alamat penerima seperti yang diberi-
kan pada Postfix. Catatan: untuk pekerjaan
ini, transport_destination_recipient_limit
nilainya harus 1.
R Tambahkan header pesan Return-Path: bersama
dengan alamat pengirim.
h Ubah baris perintah nama domain $recipient
dan nama host $nexthop menjadi huruf kecil.
Ini direkomendasikan untuk pengiriman dengan
UUCP.
q Kutip spasi kosong dan karaktter spesial la-
innya pada baris perintah bagian alamat
$sender dan $recipient (teks ke kiri dari
paling kanan karakter @), berdasarkan pada
transparan 8-bit versi RFC 822. Ini direko-
mendasikan untuk pengiriman melalui UUCP a-
tau BSMTP.
Hasilnya kompatibel dengan parse alamat dari
baris perintah penerima oleh perintah pengi-
riman sendmail Postfix.
Tanda q berefek pada seluruh alamat, bukan
sebagian informasi alamat yang berasal dari
baris perintah makro $user, $extension atau
$mailbox.
u Ubah baris perintah pada bagian lokal alamat
$recipient (teks ke kiri dari karakter pal-
kanan dari) menjadi huruf kecil. Ini direko-
mendasikan pada pengiriman melalui UUCP.
.
Tambahkan . pada baris yang dimulai ".". Ini
diperlukan, contohnya, software BSMTP.
> Tambahkan > pada baris dimulai dengan "From".
Ini sangat diperlukan, contohnya, software
UUCP.
user=username (harus diisi)
user=username:groupname
Perintah eksternal dieksekusi dengan hak dari user-
name yang tercantum. Software menolak untuk mengek-
sekusi perintah dengan tingkatan root, atau dengan
tingkatan dari pemilik mail. Jika groupname dican-
tumkan, maka group ID tersebut digunakan daripada
group ID dari username.
eol=string (opsional, default: \n)
Keluaran merekam pembatas. Biasanya akan mengguna-
kan \r\n atau \n. Garis miring gaya C biasa berurut
dikenali: \a \b \f \n \r \t \v \octal dan \\.
size=size_limit (opsional)
Pesan lebih besar dari batas ini (dalam byte) akan
dikirim kembali kepada pengirim.
argv=command... (harus diisi)
Perintah yang akan dieksekusi. Ini harus disebutkan
sebagai atribut terakhir perintah. Perintah diekse-
kusi langsung, contohnya, tanpa ada interpretasi o-
leh shell pada karakter meta oleh intepreter perin-
tah shell.
Pada vektor argumen perintah, makro berikut ini di-
kenal dan digantikan dengan informasi dari permin-
taan pengiriman manajer antrian Postfix:
${extension}
Makro ini mengekspansi ke bagian ekstensi
dari alamat penerima. Contohnya, dengan se-
buah alamat user+foo@domain eksetensinya a-
dalah foo.
Argumen baris perintah yang berisi ${exten-
sion} mengekspansi kepada sebanyak mungkin
argumen baris perintah sebanyak penerima.
Informasi ini dimodifikasi oleh flag u de-
ngan tujuan perubahan.
${mailbox}
Makro ini mengekspansi ke bagian komplit se-
cara komplit dari alamat penerima. Contoh,
dengan sebuah alamat user+
foo@domain user
mailbox adalah user+foo.
Sebuah argumen baris perintah yang berisi
${mailbox} mengekspansi menjadi beberapa ar-
gumen baris perintah sebanyak penerima.
Informasi ini dimodifikasi oleh flag u de-
ngan tujuan perubahan.
${nexthop}
Makro ini mengekspansi pada nama host beri-
kutnya.
Informasi ini dimodifikasi oleh flag h de-
ngan tujuan perubahan.
${recipient}
Makro ini mengekspansi pada alamat penerima
komplit.
Argumen baris perintah yang berisi ${recipi-
ent} mengekspansi menjadi beberapa argumen
baris perintah sebanyak penerima.
Informasi ini dimodifikasi oleh flag hqu un-
tuk kutipan dan perubahan.
${sender}
Makro ini mengekspansi pada amplop alamat
pengirim.
Informasi ini dimodifikasi oleh flag q untuk
kutipan.
${size}
Makro ini mengekspansi pada ide Postfix dari
besarnya pesan, yang merupakan perkiraan da-
ri besar pesan yang dikirimkan.
${user}
Makro ini mengekspansi pada username bagian
dari alamat penerima. Contoh, dengan sebuah
alamat user+foo@domain bagian username ada-
lah user.
Argumen baris perintah yang berisi ${user}
mengekspansi menjadi beberapa argumen baris
perintah sebanyak penerima.
Informasi ini dimodifikasi oleh flag u de-
ngan tujuan perubahan.
Pada penambahan bentuk ${name}, bentuk $name dan $(name)
dikenali juga. Cantumkan $$ jika menginginkan sebuah ka-
ter $.
DIAGNOSTIK
Exit status dari perintah diharapkan untuk mengikuti kon-
vensi yang didefinisikan pada <sysexits.h>.
Masalah dan transaksi direkam pada syslogd(8). File pesan
yang korup ditandai agar manajer antrian dapat memindahkan
pesan tersebut pada antrian corrupt untuk pemeriksaaan le-
bih lanjut.
KEAMANAN
Program ini membutuhkan dua kepribadian 1) untuk mengakses
antrian Postfix tersendiri dan mekanisme IPC, dan 2) untuk
mengeksekusi perintah eksternal sebagai user yang dimaksud.
Oleh karena itu keamanan sangat sensitif.
PARAMETER KONFIGURASI
Parameter main.cf berikut ini adalah relevan pada program
ini. Lihat file main.cf Postfix untuk detail sintaks dan
nilai default. Gunakan perintah postfix reload setelah me-
rubah konfigurasi.
Lain-lain
export_environment
Daftar nama parameter environment yang dapat dieks-
port ke proses non-Postfix.
mail_owner
Tingkatan proses yang digunakan saat tidak menja-
lankan perintah eksternal.
Kontrol sumber
Pada teks berikut ini, transport adalah field pertama pada
masukan master.cf.
transport_destination_concurrency_limit
Membatasi jumlah pengiriman paralel pada tujuan pe-
ngiriman yang sama, untuk pengiriman melalaui nama
transport. Batas nilai diambil dari parameter de-
fault_destination_concurrency_limit. Batas tersebut
dijalankan oleh manajer antrian Postfix.
transport_destination_recipient_limit
Membatasi jumlah penerima setiap pengiriman pesan,
untuk pengiriman melalui nama transport. Batas de-
fault diambil dari parameter default_destination_
recipient_limit. Batasan tersebut dijalankan oleh
manajer antrian Postfix.
transport_time_limit
Membatasi waktu untuk pengiriman ke perintah eks-
ternal, untuk pengiriman melalui transport. Batas
default diambil dari parameter command_time_limit.
Batasan tersebut dijalankan oleh agen pengiriman
koneksi.
LIHAT JUGA
bounce(8) laporan status non-pengiriman
master(8) manajer proses
qmgr(8) manajer antrian
syslogd(8) pencatatan sistem
LISENSI
Lisensi Secure Mailer harus didistribusikan bersama soft-
ware ini.
PENULIS
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
PIPE(8)