Gelen kutunuz her sabah okumadan sildiğiniz bültenler, tekrar tekrar gelen sistem bildirimleri ve iş yazışmalarının arasına karışan tanıtım postalarıyla mı doluyor? Bu manzara sadece can sıkıcı değil; önemli bir müşteri mesajını ya da bir fatura hatırlatmasını kaçırmanıza da yol açar. cPanel e-posta filtreleri tam olarak bu dağınıklığı çözmek için vardır. Sunucu, bir mesaj kutunuza teslim edilmeden önce belirlediğiniz kuralları tek tek uygular; siz uygulamayı hiç açmasanız bile posta doğru klasöre gitmiş, gereksizi çöpe atılmış olur.
Bu rehberde filtrelerin arka planda nasıl çalıştığını, hesap düzeyi ile alan adı düzeyi kuralların hangi durumda tercih edileceğini, koşul ve eylemlerin nasıl birleştirileceğini ve kural sırasının neden önemli olduğunu adım adım anlatacağım. Kıdemli bir sistem yöneticisinin bir müşteriye masasının başında gösterdiği gibi, her başlığı somut örneklerle ve arka planda oluşan gerçek kural sözdizimiyle destekleyeceğim. Sonunda, kurduğunuz her kuralı yayına almadan test edebileceğiniz yöntemi ve en sık ihtiyaç duyulan spam engelleme örneklerini bulacaksınız.
Filtreler Kutuya Teslimattan Önce Çalışır#
cPanel arka planda Exim posta sunucusunu kullanır ve filtreler mesaj kullanıcının kutusuna yazılmadan hemen önce, teslimat aşamasında çalıştırılır. Bu ayrıntı önemlidir çünkü bir mesaj IMAP klasörüne düştükten sonra filtre onu artık taşıyamaz; kural, posta sunucuya geldiği anda değerlendirilir. Dolayısıyla filtreler "gelen kutumu düzenleyen bir robot" değil, "postayı yerleştirmeden önce yönlendiren bir trafik memuru" gibi düşünülmelidir.
Her filtre üç parçadan oluşur: bir veya daha fazla koşul (örneğin gönderen adresi şunu içeriyorsa), koşullar sağlandığında yapılacak bir veya daha fazla eylem (klasöre taşı, sil, ilet) ve bu ikisini birbirine bağlayan mantık. cPanel bu kuralları arka planda düz metin bir sözdizimine çevirir. Örneğin "konusunda fatura geçen postaları Faturalar klasörüne taşı" kuralının ürettiği gerçek koddan bir kesit şöyle görünür:
if $h_subject contains "fatura"
then
save "$home/mail/ornek.com/destek/.Faturalar/"
endif
Bu sözdizimini elle yazmanız gerekmez; arayüz sizin yerinize üretir. Ama nasıl bir yapıya dönüştüğünü bilmek, karmaşık kurallarda neyin neden çalıştığını anlamanızı kolaylaştırır. Filtre kurmadan önce ilgili e-posta hesabının kurulu olması gerekir; henüz hesabınız yoksa e-posta hesabı oluşturma rehberimizi izleyerek başlayın.
Hesap Düzeyi ve Alan Adı Düzeyi Filtreler#
cPanel iki ayrı filtre menüsü sunar ve ikisinin kapsamı tamamen farklıdır. Bu farkı kavramak, kuralı yanlış yere koyup "neden çalışmıyor" diye saatlerce uğraşmanızı önler.
Email Filters (Hesap Düzeyi) menüsü tek bir e-posta hesabına özeldir. Örneğin [email protected] için kurduğunuz bir kural yalnızca o kutuya gelen postaları etkiler; [email protected] bundan hiç etkilenmez. Bu menü ayrıca posta kullanıcısının kendi Webmail arayüzünden de erişilebilir, yani her çalışan kendi kutusunun kurallarını yönetebilir.
Global Email Filters (Alan Adı Düzeyi) menüsü ise hesaptaki tüm alan adlarına ve tüm posta kutularına birden uygulanır. Bir kuralı bir kez yazarsınız, ornek.com altındaki her adres için geçerli olur. Bu, tüm şirket için geçerli olması gereken güvenlik kuralları için idealdir.
| Özellik | Hesap Düzeyi (Email Filters) | Alan Adı Düzeyi (Global Email Filters) |
|---|---|---|
| Kapsam | Tek bir posta kutusu | Tüm hesabın posta kutuları |
| Erişim | cPanel ve Webmail | Yalnızca cPanel yöneticisi |
| Tipik kullanım | Kişisel klasörleme, otomatik yanıt | Şirket geneli spam/virüs bloğu |
| Çalışma sırası | Alan adı düzeyinden sonra | Herkesten önce |
Sıralamaya dikkat edin: alan adı düzeyi filtreler her zaman önce çalışır, ardından hesap düzeyi filtreler devreye girer. Yani şirket genelinde tehlikeli bir eki en baştan silen bir global kural, kullanıcının kendi kutusundaki "her şeyi arşivle" kuralından önce iş görür. Kritik güvenlik kararlarını global düzeye, kişisel düzenlemeyi hesap düzeyine koymak sağlıklı bir yaklaşımdır.
Kural Koşullarını Kurmak#
Bir filtrenin ilk parçası koşuldur ve cPanel size mesajın hangi parçasına bakılacağını seçtiren zengin bir liste sunar. En sık kullandığınız alanlar şunlardır: gönderen (From), alıcı (To), konu (Subject), gövde (Body), ve spam puanı (Spam Score). Her alan için de bir karşılaştırma operatörü seçersiniz: içeriyor (contains), eşittir (equals), ile başlıyor (begins with), düzenli ifadeyle eşleşiyor (matches regex) gibi.
Örneğin belirli bir gönderenden gelen her şeyi yakalamak için From alanını "equals" ile eşleştirirsiniz:
From equals [email protected]
Bir konu kalıbını yakalamak için "contains" genellikle yeterlidir, ama daha hassas eşleşme istediğinizde düzenli ifade kullanabilirsiniz. Aşağıdaki kural, konu satırında büyük/küçük harf duyarsız biçimde "kampanya" ya da "indirim" geçen postaları hedefler:
Subject matches regex (?i)(kampanya|indirim|fırsat)
Spam Score koşulu, sunucudaki Apache SpamAssassin motorunun her mesaja verdiği puana bakar. Puan ne kadar yüksekse mesaj o kadar spam sayılır. SpamAssassin puanı cPanel filtrelerinde her yıldız bir puana denk gelecek şekilde artı işaretiyle ifade edilir; örneğin beş puan +++++ olarak temsil edilir:
Spam Bar begins with +++++
Bir kurala birden fazla koşul eklediğinizde bunları "and" (tümü sağlanmalı) ya da "or" (biri yeterli) mantığıyla birleştirirsiniz. Örneğin "gönderen dış bir adres olsun ve konusunda fatura geçsin" derseniz iki koşulu "and" ile bağlarsınız. Koşulları olabildiğince dar tutmak, masum postaların yanlışlıkla yakalanmasını engeller.
Eylemleri Seçmek: Taşı, Sil, İlet, Yanıtla#
Koşullar sağlandığında ne olacağını eylemler belirler ve tek bir kurala birden çok eylem zincirleyebilirsiniz. En yaygın kullanılanları tek tek görelim.
Klasöre taşı (Deliver to folder) en çok tercih edilen eylemdir çünkü hiçbir postayı kaybetmeden düzen sağlar. Mesaj silinmez, yalnızca ilgili IMAP klasörüne yerleştirilir; klasör yoksa cPanel onu otomatik oluşturur. Bültenleri bir "Bültenler", faturaları bir "Faturalar" klasörüne yönlendirmek gelen kutunuzu belirgin biçimde rahatlatır.
Sil (Discard Message) mesajı sessizce yok eder; gönderen hiçbir hata ya da geri dönüş almaz. Bunu yalnızca kesinlikle istemediğiniz, geri dönüşü olmayan postalar için kullanın. Daha güvenli bir alternatif, mesajı silmek yerine bir "Çöp" klasörüne taşıyıp belirli aralıklarla gözden geçirmektir.
İlet (Redirect / Forward) mesajı başka bir adrese yönlendirir. Örneğin [email protected] kutusundaki her postanın bir kopyasını yöneticiye de göndermek için kullanılır. İletmede önemli bir tuzak vardır: alıcı sunucular, gönderen alan adının SPF ve DKIM kayıtlarını denetler ve iletilen posta bu doğrulamalardan kalabilir. Bu nedenle iletme kurallarını devreye almadan önce SPF, DKIM ve DMARC yapılandırmanızın sağlam olduğundan emin olun.
Otomatik yanıt (Auto Reply / Pipe to Program) ve başarısızlık mesajı gönder (Fail with message) gibi ileri eylemler de vardır. Aşağıdaki tablo, hangi eylemin hangi senaryoya uygun olduğunu özetler:
| Eylem | Ne yapar | En uygun senaryo |
|---|---|---|
| Deliver to folder | Klasöre taşır, silmez | Bülten, fatura, bildirim düzenleme |
| Discard Message | Sessizce siler | Bilinen ısrarlı spam gönderenler |
| Redirect to email | Başka adrese iletir | Ortak kutuyu yöneticiye yansıtma |
| Fail with message | Reddeder ve gönderene hata döner | İstenmeyen otomatik kayıtları geri çevirme |
| Stop Processing Rules | Sonraki kuralları durdurur | Kesin karar verildiğinde zinciri kesme |
Kural Sırası ve Durdurma Mantığı#
Filtreler listedeki sıraya göre yukarıdan aşağıya çalışır ve bu sıra sonucu doğrudan değiştirebilir. cPanel arayüzünde her kuralın yanındaki oklarla ya da sürükle-bırak ile sıralamayı değiştirebilirsiniz. Bir kural bir eylem uyguladıktan sonra, aksini belirtmezseniz sunucu sonraki kuralları da değerlendirmeye devam eder.
İşte klasik bir hata: önce "konusunda rapor geçenleri Raporlar klasörüne taşı" kuralı, sonra "gönderen [email protected] olanları Önemli klasörüne taşı" kuralı var. Patronunuzun gönderdiği bir rapor postası ilk kurala takılır, Raporlar'a taşınır ve ikinci kural artık onu Önemli klasörüne almaz çünkü mesaj çoktan yerleştirilmiştir. Çözüm, daha özel ve öncelikli kuralları listenin başına koymak ve gerektiğinde Stop Processing Rules eylemiyle zinciri açıkça durdurmaktır.
Üretilen kod düzeyinde durdurma şuna benzer:
if $h_from contains "[email protected]"
then
save "$home/mail/sirket.com/ben/.Onemli/"
finish
endif
Buradaki finish komutu, "bu kural eşleşti, karar verildi, aşağıdaki kurallara hiç bakma" anlamına gelir. Kritik bir gönderen ya da güvenlik bloğu için bu davranış istenir. Genel klasörleme kurallarında ise durdurmayı kullanmayın; postanın birden çok kurala takılıp örneğin hem etiketlenip hem klasörlenmesine izin verin.
Test Butonu ile Kuralı Doğrulamak#
cPanel, kuralı gerçek postalara uygulamadan önce denemeniz için Email Filters ekranında bir Filter Test (Filtreyi Sına) alanı sunar. Buraya örnek bir e-posta ham içeriği yapıştırırsınız; sunucu, seçtiğiniz filtreyi bu metne uygular ve hangi eylemlerin tetiklendiğini gösterir. Böylece bir kuralı yayına almadan önce "gerçekten yakalıyor mu, yanlış postaları da mı topluyor" sorusunu güvenle yanıtlarsınız.
Test için gövdeye başlıkların da bulunduğu gerçekçi bir mesaj koymanız gerekir. Test kutusuna yapıştıracağınız asgari örnek şöyle olabilir:
From: [email protected]
To: [email protected]
Subject: Haftalık kampanya bülteni
Date: Wed, 10 Jul 2026 0900 +0300
Merhaba, bu hafta size özel indirimlerimiz burada.
Test çıktısı, kuralın konuyu yakalayıp mesajı hedef klasöre yönlendirdiğini satır satır raporlar. Eğer beklediğiniz eylem tetiklenmiyorsa çoğu zaman sorun operatör seçimindedir: "equals" beklerken konunun bir kısmını yazmışsınızdır, oysa "contains" gerekmektedir. Bir başka sık hata, Türkçe karakterlerdir; "fırsat" yazan bir kural, gönderenin "firsat" yazdığı bir konuyu yakalamaz. Bu tür durumlarda düzenli ifadeyle her iki biçimi kapsayabilirsiniz:
Subject matches regex (?i)(fırsat|firsat|f.rsat)
Test aşamasını atlamayın. Özellikle "Discard" ya da "Redirect" gibi geri dönüşü zor eylemlerde, önce mesajı bir klasöre taşıyan güvenli bir sürümle deneyip birkaç gün gözlemlemek, ardından kesin eyleme geçmek en sağlıklı yoldur.
Yaygın Spam Engelleme Örnekleri#
Şimdi günlük hayatta en çok işinize yarayacak birkaç hazır senaryoyu, koşul ve eylemleriyle birlikte görelim. Bunları kendi alan adınıza uyarlayarak doğrudan kurabilirsiniz.
Yüksek spam puanlı postaları çöpe klasörle. SpamAssassin puanı belirli eşiği geçen postaları silmek yerine bir "SpamKutusu" klasörüne alın; böylece yanlış pozitifleri gözden geçirebilirsiniz. Koşul olarak Spam Bar begins with +++++ seçip eylem olarak klasöre taşımayı kullanın. Bu, en dengeli spam savunmasıdır çünkü hiçbir postayı geri dönülemez biçimde yok etmez.
Belirli bir ısrarlı göndericiyi engelle. Sürekli aynı adresten gelen istenmeyen postalar için From equals [email protected] koşuluyla "Fail with message" eylemini birleştirin. Bu, gönderene açık bir reddetme yanıtı döner ve çoğu meşru olmayan liste sizi kayıtlarından çıkarır. Ürettiği yapı şöyledir:
if $h_from contains "[email protected]"
then
fail "Bu adres postalarınızı kabul etmiyor."
finish
endif
Tehlikeli ekleri en baştan durdur. Global Email Filters düzeyinde, konu ya da gövdede çalıştırılabilir dosya uzantısı geçen postaları yakalayabilirsiniz. Aşağıdaki düzenli ifade, yaygın zararlı uzantıları hedefler:
Any Header matches regex (?i)name="?.*\.(exe|scr|js|vbs|bat|cmd)"?
Kimlik avı kalıplarını yakala. "Hesabınız askıya alındı" ya da "Ödeme doğrulaması gerekli" gibi klasik oltalama konularını, konuyu düzenli ifadeyle tarayarak bir "Şüpheli" klasörüne alabilirsiniz. Bu kuralı silmek yerine klasörlemek önemlidir; çünkü aynı ifadeler zaman zaman gerçek bir bildirimde de geçebilir.
Bu tür kuralları kurarken sunucu tarafındaki daha güçlü koruma katmanlarını da unutmayın. Filtreler kutu düzeyinde çalışır; kaynağa daha yakın koruma isteyen kurumsal siteler için bir web uygulama güvenlik duvarı ve DDoS koruması posta ve web trafiğini bir üst katmanda tutar. Barındırma paketinizde SpamAssassin varsayılan olarak açık gelir; hosting planlarımızda tüm bu araçlar tek panelden yönetilir.
Sıkça Sorulan Sorular#
Hesap düzeyi mi yoksa alan adı düzeyi filtre mi kullanmalıyım?#
Kararı kuralın kapsamına göre verin. Yalnızca kendi kutunuzu ilgilendiren kişisel bir düzenleme, örneğin bültenleri bir klasöre taşımak, hesap düzeyi Email Filters ekranına aittir. Tüm şirketi ilgilendiren, herkesin kutusunda geçerli olması gereken güvenlik ya da spam kuralları ise alan adı düzeyi Global Email Filters ekranına konmalıdır çünkü orası tüm adresleri birden kapsar ve herkesten önce çalışır.
Sil (Discard) ile klasöre taşıma arasındaki fark nedir?#
Discard mesajı sessizce ve kalıcı olarak yok eder; ne siz ne de gönderen bir iz görürsünüz, dolayısıyla yanlış bir kural masum postaları fark etmeden imha edebilir. Klasöre taşıma ise mesajı silmez, yalnızca gelen kutunuzun dışında ayrı bir klasöre yerleştirir. Özellikle yeni kurduğunuz ve henüz güvenmediğiniz kurallarda, geri dönüşü olmayan Discard yerine bir "Çöp" ya da "SpamKutusu" klasörüne taşımayı tercih edin.
Filtre kurdum ama çalışmıyor, nereye bakmalıyım?#
En sık üç neden vardır ve hepsi kolayca kontrol edilir. Birincisi operatör seçimi olabilir; "equals" seçtiyseniz konu tam olarak eşleşmelidir, kısmi eşleşme için "contains" gerekir. İkincisi Türkçe karakter farkıdır; "fırsat" ile "firsat" sunucu için farklı metinlerdir, bu yüzden düzenli ifadeyle ikisini de kapsamalısınız. Üçüncüsü kural sırasıdır; daha önceki bir kural mesajı çoktan taşıdıysa sonraki kuralınız artık iş görmez. Filter Test alanı bu üç durumu da hızla ortaya çıkarır.
İletme (forward) kuralı postalarımın spam sayılmasına yol açar mı?#
Yol açabilir çünkü bir postayı başka bir sunucuya ilettiğinizde, alıcı sunucu gönderenin SPF ve DKIM doğrulamalarını sizin sunucunuz üzerinden görür ve bu doğrulamalar kalabilir. Sonuçta iletilen posta spam kutusuna düşebilir ya da tümden reddedilebilir. Bunu azaltmak için alan adınızın SPF, DKIM ve DMARC kayıtlarını doğru yapılandırın ve mümkünse geniş çaplı iletme yerine belirli koşullara bağlı, dar kapsamlı iletme kuralları kullanın.
SpamAssassin puanı ile kendi filtrelerim çakışır mı?#
Çakışmaz, tam tersine birlikte çalışırlar. SpamAssassin her mesaja bir spam puanı verir ve bu puan mesajın başlığına eklenir. Sizin filtreleriniz bu puana Spam Score ya da Spam Bar koşuluyla bakabilir ve puana göre eylem alabilir. Yani SpamAssassin değerlendirmeyi yapar, siz de o değerlendirmenin sonucuna göre postayı nereye koyacağınıza karar verirsiniz; ikisi tek bir savunma zincirinin farklı halkalarıdır.
Kaç tane filtre kuralı kurabilirim?#
Pratikte katı bir üst sınır yoktur; onlarca kural sorunsuz çalışır. Ancak her gelen mesaj tüm kurallardan geçirildiği için aşırı sayıda ve karmaşık düzenli ifade içeren kural, çok yoğun kutularda teslimatı hafifçe yavaşlatabilir. Sağlıklı yaklaşım, benzer amaçlı kuralları tek bir düzenli ifadede birleştirmek ve artık kullanmadığınız eski kuralları düzenli olarak temizlemektir. Böylece hem yönetimi kolay hem de hızlı bir filtre seti korursunuz.
Kapanış#
E-posta filtreleri, doğru kurulduğunda gelen kutunuzu her gün elle temizleme yükünden sizi tamamen kurtarır; postayı gönderen, konu ve içerik üzerinden otomatik klasörler, ısrarlı spam'i durdurur ve önemli mesajları öne çıkarır. Hesap düzeyi ile alan adı düzeyi arasındaki farkı bilmek, kuralları doğru sırayla dizmek ve her yeni kuralı Filter Test ile denemek, sağlam bir posta düzeninin üç temel adımıdır. Bu üçünü alışkanlık haline getirdiğinizde, kutunuz hangi hacme çıkarsa çıksın kendini düzenli tutar.
Tüm bu araçları tek panelden, SpamAssassin ve cPanel filtreleriyle birlikte kullanmak isterseniz Clou.TR web hosting ve WordPress hosting planları hazır gelir. Kendi posta altyapınızı uçtan uca yönetmek isteyenler için sanal ve fiziksel sunucu çözümlerimize göz atabilir, kurumsal yükler için sunucu yönetimi hizmetimizle teslimat ve güvenlik yapılandırmasını uzman ekibimize bırakabilirsiniz. Postanızı düzene sokmaya bugün başlayın; gerisini kurallar halletsin.