Perşembe, Kasım 26, 2020
No menu items!
Ana Sayfa ISPCONFIG ISPCONFIG-3 Postfix Kuyrukta Takılan Mailleri Silme

ISPCONFIG-3 Postfix Kuyrukta Takılan Mailleri Silme

Postfix Linux sunucularda en yaygın olarak kullanılan mail sistemidir, çoğu durumda Hosting hizmeti verdiğiniz müşterileriniz kuralları ihlal ederek mailing (toplu reklam maili gönderme) yapacak veya yaşanan teknik bir arıza nedeni ile gelen veya giden mailler postfix kuyruğunda yığılmaya neden olarak sunucunun mail trafiğini durma noktasına getirecektir.

Yakın zamanda “bize gönderilen mailler gelmiyor” şikayeti olan bir kuruma verdiğimiz teknik destek esnasında yaşanan teknik bir sorun nedeni ile Kuyrukta 16.367 (evet yanlış okumadınız On altı bin üç yüz atmış yedi 🙂 ) mailin takıldığını kendi gözlerimiz ile gördük.

Bu durumun tek ve en etkin çözümü Queue (Kuyruk) havuzundaki tüm iletileri silmekten geçiyor, evet çok sert bir yöntem ama maalesef tek çözüm bu.

Kuyruk silme yapabilmek için sunucumuza SSH üzerinden bağlantı kurmamız gerekiyor.

Sunucumuza ssh bağlantısı yapmak için en yaygın ssh uygulaması olan PuTTY’yi kullanacağız. PuTTY uygulamasını  https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.73-installer.msi adresinden indirebilirsiniz.

PuTTY uygulamasını çalıştırıyoruz,

  • Host Name : sunucumuzun ip adresi – 192.168.1.245
  • Port : 22 – standart ssh portu
  • Connection type : SSH

bu ayarları yaptıktan sonra Open butonuna basarak bağlanıyoruz,

Sonraki adımda kullanıcı adımız ve şifremiz sorulacak,

Ubuntu 18.04 Kurulumu yazımızda kullanıcı adımızı ispconfig şifremizi ise 123456 olarak belirlemiştik, bu bilgileri girerek enter tuşuna basıyoruz.

Bu arada linux işletim sistemlerinde terminal üzerinden şifrenizi yazarken **** işaretleri görmezsiniz, bu sanki yazmıyormuşsunuz algısı yaratabilir merak etmeyin yazıyorsunuz ????

Kullanıcı adınız ve şifrenizi doğru girdiyseniz aşağıdaki ekranla karşılaşmanız gerekiyor,

SU (SuperUser)/Yönetici moduna geçmemiz gerekiyor, bunun için terminal ekranındayken;

sudo su

komutunu girerek enter tuşuna basıyoruz,

Yeniden şifremiz isteniyor, şifremizi girerek enter tuşuna basıyoruz,

Ekran görüntüsünde işaretlendiği şekilde, kullanıcı adımız artık ispconfig değil root, yani şu andan itibaren yönetici modundayız, su modunda iken uyguladığınız komutlara çok dikkat etmeniz gerekiyor çünkü sunucuya yazılımsal olarak hasar verebilir, işletim sistemini çökertebilirsiniz, aman dikkat ????

Terminale aşağıdaki komutları sırasıyla gönderiyoruz;

postsuper -d mail_queue_id

postsuper -d ALL

postsuper -d ALL deferred

postfix reload

gönderdiğimiz son komut ile birlikte postfix servisini restart etmiş olduk, postfix için restart işlemi 5 dakika kadar sürebilmekte.

Bu işlem tüm domainlerde bulunan tüm mail hesaplarına ait kuyruk havuzunu silecektir, örneğin sunucunuzda 60 farklı domain var ve bu sorun sadece bir domainde mevcut, bu komutları çalıştırdığınızda kalan 59 domaine ait kuyruk havuzunu da silecektir, o nedenle bu komut dizesini son çare olarak kullanırız, bunun yerine nokta atışı girilen mail adresine ait havuz kaydını silen script’i kullanıyoruz;

#!/usr/bin/perl -w
# pfdel - deletes message containing specified address from
# Postfix queue. Matches either sender or recipient address.
#
# Usage: pfdel <email_address>
#
use strict;
# Change these paths if necessary.
my $LISTQ = "/usr/sbin/postqueue -p";
my $POSTSUPER = "/usr/sbin/postsuper";
my $email_addr = "";
my $qid = "";
my $euid = $>;
if ( @ARGV !=  1 ) {
        die "Usage: pfdel <email_address>\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 = <QUEUE>;    # skip single header line
$/ = "";                # Rest of queue entries print on
                        # multiple lines.
while ( $entry = <QUEUE> ) {
        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;

Yukarıdaki dosyayı çalıştırmanız için bir kaç işlem yapmanız gerekiyor, aşağıdaki komutları sırasıyla uyguluyoruz.

/home/sunucunuzun_adi/Desktop konumuna mailqsil.py dosyası oluşturacağız;

pico /home/ispconfig/Desktop/mailqsil.py

Dosyamızın herkes tarafından okunabilir ve yazılabilir olması gerekiyor, bunun için gerekli yetkiyi veriyoruz;

chmod a+rw mailqsil.py

Dosyamızı çalıştırıyoruz;

perl mailqsil.py kuyruksilinecekmail@maildomaini.com

Bu script sayesinde nokta atışı olarak istediğimiz maile ait kuyruk havuzunu silerek sorunu çözmüş bulunuyoruz.

Not : İlgili script’in OP(Original Poster) bilgisi elimizde mevcut değil ancak kendisine eline sağlık diyor ve saygılarımızı iletiyoruz.

Sevgiler 🙂

fsc
fsc
1996 Yılından bu yana Yurtiçi ve Yırtdışında Bilişim Sektörü'nde hizmet veriyor. Network, Ağ Güvenliği, Linux, Windows sunucular ve bir çok programlama dilinde uzman. Teknoloji, işini karmaşık göstererek kendini Süpermen olarak tanıtma sevdalısı megalomanyakların gösterdiği/anlattığı kadar karmaşık değil, yapamazsın dedikleri her şeyi yapar, anlamazsın dedikleri her şeyi anlarsınız, yeter ki kendinize inanın ve güvenin.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

- Advertisment -

Most Popular

Adobe Acrobat Reader Yüklü Olmayan Bilgisayarda PDF Dosyası Yazdırma

Adobe tarafından geliştirilen Acrobat Reader uygulaması hepimizin bilgisayarında olan ve standart olarak kullandığımız bir uygulama. Peki bir PDF çıktısı almanız gerekiyor ve kullandığınız bilgisayarda acrobat...

Ubuntu OpenSSH Kurulumu

Ubuntu üzerinde bir yazılım kurmak için genellikle iki seçeneğiniz vardır; Ubuntu Software arayüzü apt komutu ile terminal üzerinden kurulum Linux sistemlerin en zevkli yanı ve...

Linux Sunucuya SSH Bağlantısı Kurma

Sunucumuza ssh bağlantısı yapmak için en yaygın ssh uygulaması olan PuTTY’yi kullanacağız. PuTTY uygulamasını  https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.73-installer.msi adresinden indirebilirsiniz. PuTTY uygulamasını çalıştırıyoruz, Host Name : sunucumuzun ip adresi –...

Cobian Mükemmel Yedekleme Aracı

Yedekleme, IT yönetiminin en sorunlu ve en dikkat edilmesi gereken işlemlerinden birisidir, yönettiğiniz sistemde periyodik olarak yedekleme yapmıyor iseniz karşılaşacağınız herhangi bir sorunda ciddi...

Recent Comments