• Masim “Vavai” Sugianto

    Founder PT. Excellent Infotama Kreasindo– perusahaan email services provider (ESP) dan menjadi konsultan pada berbagai instansi pemerintah, korporasi besar, lembaga perbankan dan institusi pendidikan di Indonesia.

    Lebih detail tentang Vavai.




  • Publishing

  • Recent Posts

    • Pengalaman Saat Sakit : Keluarga, Sahabat dan Bagaimana Jika…
    • Refleksi Setelah Sakit
    • Legacy
    • Bitcoin, Ethereum, Dogecoin
    • Penjualan Langsung : Keliling dan Mangkal
  • Recent Comments

    • PT. Infra Solution International on Perkembangan Usaha Penjualan Pisang “Zeze Zahra” Setelah 1 Bulan
    • PT. Infra Solution International on Refleksi Setelah Sakit
    • PT. Infra Solution International on Pengalaman Saat Sakit : Keluarga, Sahabat dan Bagaimana Jika…
    • ict Administrator on Pengalaman Saat Sakit : Keluarga, Sahabat dan Bagaimana Jika…
    • sada dua on Pengalaman Saat Sakit : Keluarga, Sahabat dan Bagaimana Jika…
  • Archives

    • February 2021
    • January 2021
    • December 2020
    • August 2020
    • July 2020
    • April 2020
    • March 2020
    • August 2019
    • July 2019
    • June 2019
    • March 2019
    • February 2019
    • January 2019
    • November 2018
    • October 2018
    • August 2018
    • May 2018
    • April 2018
    • January 2018
    • December 2017
    • July 2017
    • December 2016
    • November 2016
    • April 2016
    • March 2016
    • November 2015
    • July 2015
    • April 2015
    • November 2014
    • October 2014
    • February 2014
    • January 2014
    • December 2013
    • November 2013
    • October 2013
    • September 2013
    • August 2013
    • June 2013
    • May 2013
    • March 2013
    • February 2013
    • January 2013
    • December 2012
    • November 2012
    • October 2012
    • September 2012
    • August 2012
    • July 2012
    • June 2012
    • May 2012
    • April 2012
    • March 2012
    • February 2012
    • January 2012
    • December 2011
    • November 2011
    • October 2011
    • September 2011
    • August 2011
    • July 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010
    • November 2010
    • October 2010
    • September 2010
    • August 2010
    • July 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
  • Home
  • Bisnis & Marketing
  • Computer & IT Related
  • Lifestyle
  • Publishing
  • Free Stuff
  • About
  • Kontak

Script untuk Menghapus Antrian Spam pada Zimbra Mail Server (Updated)

October 14, 2018

Saya pernah menulis script untuk menghapus antrian spam dari mail server Zimbra di tahun 2011, untuk artikelnya bisa dibaca disini : Script untuk Menghapus Antrian Spam pada Zimbra Mail Server. Script tersebut menjadi salah satu script wajib yang dipasang pada server-server klien Excellent jika terjadi spamming karena adanya account user yang compromised.

Setelah versi 8.7, ada sedikit perubahan posisi file executable Postfix. Zimbra mengubah posisi folder dari yang awalnya ditempatkan pada folder /opt/zimbra/postfix/sbin menjadi folder /opt/zimbra/common/sbin. Akibatnya, saya harus mengubah manual script tersebut untuk bisa digunakan pada server Zimbra versi 8.7 keatas.

Daripada repot tiap kali mengubah script, pagi ini saya menyempatkan diri mengubah scriptnya agar lebih fleksibel dan bisa dipakai baik pada Zimbra 8.7 keatas maupun Zimbra 8.6 dan versi dibawahnya.

Saya sempat terkendala melakukan modifikasi script karena script ini ditulis pakai bahasa pemrogramman Perl sedangkan saya biasanya menggunakan bash. Setelah beberapa kali mencari referensi di Google, akhirnya script ini jadi bisa digunakan.

Berikut adalah isi scriptnya :

#!/usr/bin/perl -w
#
# pfdel - deletes message containing specified address from
# Postfix queue. Matches either sender or recipient address.
#
# Usage: pfdel
#

use strict;

my $LISTQ;
my $POSTSUPER;

# Change these paths if necessary.

system("su - zimbra -c 'zmcontrol -v' > /tmp/zcs-ver.txt");
my $VER=`awk '/Release 6|Release 7|Release 8.0|Release 8.5|Release 8.6/' /tmp/zcs-ver.txt`;
#print $VER

if (length($VER) > 0)
{
$LISTQ = "/opt/zimbra/postfix/sbin/postqueue -p";
$POSTSUPER = "/opt/zimbra/postfix/sbin/postsuper";
}
else
{
$LISTQ = "/opt/zimbra/common/sbin/postqueue -p";
$POSTSUPER = "/opt/zimbra/common/sbin/postsuper";

}

my $email_addr = "";
my $qid = "";
my $euid = $>;

if ( @ARGV != 1 ) {
die "Usage: pfdel \n";
} else {
$email_addr = $ARGV[0];
}

if ( $euid != 0 ) {
die "You must be root to delete queue files.\n";
}

open(QUEUE, "$LISTQ |") ||
die "Can't get pipe to $LISTQ: $!\n";

my $entry = ; # skip single header line
$/ = ""; # Rest of queue entries print on
# multiple lines.
while ( $entry = ) {
if ( $entry =~ / $email_addr$/m ) {
($qid) = split(/\s+/, $entry, 2);
$qid =~ s/[\*\!]//;
next unless ($qid);

#
# Execute postsuper -d with the queue id.
# postsuper provides feedback when it deletes
# messages. Let its output go through.
#
if ( system($POSTSUPER, "-d", $qid) != 0 ) {
# If postsuper has a problem, bail.
die "Error executing $POSTSUPER: error " .
"code " . ($?/256) . "\n";
}
}
}
close(QUEUE);

if (! $qid ) {
die "No messages with the address <$email_addr> " .
"found in queue.\n";
}

exit 0;

Jika malas melakukan copy-paste manual, script ini bisa didownload langsung dengan perintah :

wget https://www.vavai.com/pfdel
chmod +x pfdel

Dan untuk menjalankannya, cukup menjalankan script ini dengan hak akses root dengan perintah :

./pfdel alamat-email-spammer

Contoh :

./pfdel spammersampah@vavai.com

Semoga bermanfaat bagi rekan-rekan yang memerlukannya.

BashScriptSpamZimbra
Share

Tips, Tricks & Tutorial

Masim Vavai Sugianto
Masim Vavai Sugianto, Tinggal di Bekasi, Bekerja sebagai wirausahawan/Konsultan IT. Penganjur penggunaan sistem Linux dan aplikasi Open Source. Hobby Membaca, Hiking dan Avonturir. Mengembangkan PT. Excellent Infotama Kreasindo sebagai lembaga training dan IT consulting.

You might also like

Webinar Zimbra : Mindset untuk Team IT
July 29, 2020
Eskalasi Masalah Email : mailbox unavailable invalid DNS MX or A/AAAA resource record
July 14, 2020
Two Factor Authentication (2FA/TFA) untuk Meningkatkan Keamanan Akses Email
April 24, 2020

Comment


NJ
January 30, 2020 at 9:49 am

Hi Mas Vavai,

Saya coba copas pfdel-nya dan di taruh di bin, tapi dapat error seperti ini
syntax error at /usr/bin/pfdel line 49, near “= ;”
syntax error at /usr/bin/pfdel line 52, near “= ) ”
syntax error at /usr/bin/pfdel line 68, near “}”
Execution of /usr/bin/pfdel aborted due to compilation errors.

apakah $entry= itu harus diisi kah?



Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

CAPTCHA
Refresh

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • Artikel



  • Blogroll

    • DNS Propagation Checker
    • Instagram Photo/Video Downloader
    • PT. Excellent Infotama Kreasindo
  • Publishing

  • Recent Posts

    • Pengalaman Saat Sakit : Keluarga, Sahabat dan Bagaimana Jika…
    • Refleksi Setelah Sakit
    • Legacy
    • Bitcoin, Ethereum, Dogecoin
    • Penjualan Langsung : Keliling dan Mangkal
    • Perkembangan Usaha Penjualan Pisang “Zeze Zahra” Setelah 1 Bulan
    • Bekerja Keras dan Responsif
    • Bank Syariah Indonesia
    • Meningkatkan Nilai Tambah & Daya Tarik
    • Kios Aneka Pisang “Zeze Zahra II”