sas.lantip.info

Menolak Email pada Postfix/Zimbra

by salman

Beberapa waktu terkini, saya mendapat keluhan dari user mail server yang saya pelihara. Email-email tidak jelas masuk ke inbox mereka. Setelah saya pelajari salinan email yang dimaksud, tampak jelas bahwa email tidak terkirim dari email server kami. Akan tetapi berasal dari email server di luar. Tujuan dan asal email memang ke arah domain klien saya tersebut. Jadi sekiranya email tersebut tidak sampai ke tujuan, pasti akan berbalik ke arah email server kami.

Solusi yang dijelaskan disini meski berbasis Zimbra, jelas bisa diterapkan pada sistem lain yang menggunakan Postfix. Karena kita tahu Zimbra menggunakan Postfix sebagai MTA (Mail Transfer Agent).

Kembali ke masalah yang sedang kita bahas. Email-email tersebut mempunyai pola Subject yang mengandung kata “VIAGRA”. Meski keseluruhan subject berubah-ubah sesuai dengan alamat email yang dikirimi. Misalnya isi Subject-nya “blah VIAGRA Official Site -96%”, yang dikirim ke email blah@domain.com.

Dengan pola tersebut, diputuskan untuk menolak semua email dengan subject yang berisi kata “VIAGRA”.

Setelah menelusuri dokumentasi Postfix ditemukan keyword setelan header_checks. Setelan ini akan mencari pola yang ada pada header email sesuai dengan pola yang kita tentukan dan akan menjalankan aksi tertentu jika pola ditemukan.

Format file filter ini adalah:

/POLA/  AKSI    OPSI

Langkah pertama adalah membuat file filter.

mail:~# su - zimbra
zimbra@mail:~$ vi /opt/zimbra/conf/header_checks

Nama dan lokasi file tidak wajib seperti ini, asalkan Anda menyesuaikan setelan Postfix. Isi file /opt/zimbra/conf/header_checks adalah:

/^Subject:.*VIAGRA/ REJECT "Your email rejected since has VIAGRA in its Subject."

Tambahkan filter ini ke dalam konfigurasi Postfix.

zimbra@mail:~$ zmlocalconfig -e \
postfix_header_checks="pcre:/opt/zimbra/conf/postfix_header_checks, \
pcre:/opt/zimbra/conf/header_checks"

Atau dengan mengedit langsung file setelannya dengan perintah:

zimbra@mail:~$ vi /opt/zimbra/postfix/conf/main.cf

Kemudian tambahkan atau edit sehingga berisi baris berikut ini:

header_checks =
    pcre:/opt/zimbra/conf/postfix_header_checks,
    pcre:/opt/zimbra/conf/header_checks

Perhatikan awalan pcre, ini memberitahkan pada Postfix bahwa file filter berisi pola yang mengikuti aturan PCRE (Perl Compatible Regular Expressions).

Setelah selesai reload setelan yang baru.

zimbra@mail:~$ zmmtactl reload

Untuk Postfix,

mail:~# /etc/init.d/postfix reload

Selesai sudah, cek dengan mengirim email dengan isi Subject sesuai dengan filter yang dimaksud. Dan perhatikan file log /var/log/mail.log.

Contoh log sebagai berikut,

Jun  8 23:38:17 mail postfix/cleanup[24935]: 75AAAAF0027: reject: header
Subject: nurmala VIAGRA ? Official Site -91% from
122-116-208-230.HINET-IP.hinet.net[122.116.208.230]; from= to= proto=SMTP
helo=: 5.7.1 "Your email rejected since has VIAGRA in its Subject."
Jun  8 23:38:17 mail postfix/cleanup[24936]: 93D19AF0030: reject: header
Subject: nurmala.dewi VIAGRA ? Official Site -91% from
122-116-208-230.HINET-IP.hinet.net[122.116.208.230]; from= to= proto=SMTP
helo=: 5.7.1 "Your email rejected since has VIAGRA in its Subject."

Selesai. Semoga bermanfaat.