Beberapa hari yang lalu, ada spam yang lolos dari pemeriksaan antispam. Isi emailnya kira-kira seperti berikut :
From: IT Admin Desk <ad.wind2@spam.bd> Date: 5 February 2019 16.27.49 GMT+7 To: user@example.com Subject: user@example.com Perbarui Dapatkan Informasi Reply-To: 2017spam@gmail.com sayang user@example.com , Kami menghapus semua akun email yang belum dikonfirmasi untuk menciptakan lebih banyak ruang untuk akun baru. CONFIRM IDENTITAS EMAIL ANDA DI BAWAH http://url-spam.jkl/ untuk menghindari kehilangan akun Anda Terima kasih
Langkah yang dilakukan setelah menerima spam tersebut adalah :
- Melakukan spam learning. Hal tersebut dilakukan untuk mengajari antispam agar menandai email tersebut sebagai spam. Apabila ada email sejenis, email dimasukkan kedalam quarantine
- Melakukan blacklist terhadap pengirim
- Melakukan blacklist terhadap subject ataupun body email jika perlu
Email tersebut ternyata dikirimkan pada sebagian user yang ada. Bukan hanya pada satu user saja. Beberapa user meminta email spam tersebut agar dihapus dari mailbox mereka. Karena usernya cukup banyak, maka pesan tersebut bisa dihapus via command line menggunakan script.
Script ini diambil dari Wiki Zimbra yang beralamatkan disini : https://wiki.zimbra.com/wiki/King0770-Notes-Removing-Messages-with-zmmailbox-based-on-Subject. Namun dengan sedikit penyesuaian sesuai dengan kebutuhan.
Buat script pada folder /srv/ dengan nama rm_message.sh
vi /srv/rm_message.sh
Isi dengan script berikut :
[code lang=’plain’]
#!/bin/bash
# rm_message.sh user@domain.com subject
# create temp_file prior to calling this zmprov -l gaa | grep domain.com > /tmp/temp_email
for acct in `su – zimbra -c ‘zmprov -l gaa | sort’`; do
echo “Addr” : $acct
for msg in `/opt/zimbra/bin/zmmailbox -z -m “$acct” s -l 999 -t message “from:ad.wind2@spam.bd” |awk ‘{ if (NR!=1) {print}}’ | grep -v -e Id -e “-” -e “^$” | awk ‘{ print $2 }’`
do
echo “Removing “$msg” from “$acct””
/opt/zimbra/bin/zmmailbox -z -m $acct dm $msg
done
done
[/code]
Berikan hak akses eksekusi dan jalankan script
chmod +x /srv/rm_message.sh
/srv/rm_message.sh
Script diatas akan melakukan pengecekan pada semua account dan mencari email yang dikirimkan dari user ad.wind2@spam.bd. Jika ketemu, maka email tersebut akan dihapus dengan perintah dm (deleteMessage). Script tersebut dapat dikombinasikan juga dengan subject. Tambahkan informasi “subject:subject-yang-dicari” sebelum “|awk”. Kira-kira seperti berikut :
"from:ad.wind2@spam.bd" "subject:subject-yang-dicari"
Sebaiknya hindari penghapusan berdasarkan subject saja. Karena bisa saja subject yang dicari ada yang mirip. Misalnya mencari subject “Perbarui Informasi anda” yang merupakan spam. Namun ada juga subject “Perbarui Informasi anda pada sistem katalog” yang bukan kategori spam. Maka email tersebut akan terhapus juga.
Silakan dicoba dan semoga bermanfaat 🙂
Thanks for this script is better than the original form Zimbra wiki!! Just one question, with this script, how can I delete any address from a domain, something like *@domain.com?
Hello,
You can use “from:@domain.com” on the search section