Gelen kutunuz bir anda sizin hiç göndermediğiniz e-postalara ait "teslim edilemedi" mesajlarıyla doluyorsa, müşterileriniz maillerinizin spam klasörüne düştüğünü söylüyorsa ya da barındırma sağlayıcınız giden postanızı durdurduğunu bildirdiyse, hosting hesabınız üzerinden spam gönderiliyor olabilir. Bu durum hem alan adınızın itibarını hem de aynı sunucudaki diğer müşterilerin postasını etkiler. Önce sakin olun: kaynağı bulmak ve durdurmak çoğu zaman birkaç adımlık bir iştir.
Spam genellikle üç yoldan çıkar: şifresi ele geçirilmiş bir e-posta hesabı, sitenize yerleştirilmiş bir PHP betiği veya kötüye kullanılan bir iletişim formu. Bu yazıda belirtileri, kaynağı cPanel araçları ve e-posta başlıklarıyla nasıl ayırt edeceğinizi, gönderimi nasıl durduracağınızı ve sonrasında itibarınızı nasıl toparlayacağınızı anlatıyoruz.
Belirtiler: hesabınızdan spam çıktığını nasıl anlarsınız?

| Belirti | Olası neden | Ne yapmalı? |
|---|---|---|
| Göndermediğiniz maillere ait çok sayıda geri dönüş (bounce) mesajı | Hesabınızdan spam gönderiliyor ya da biri adresinizi sahte gönderen olarak kullanıyor | Bounce mesajının tam başlığını açıp maili sizin sunucunuzun gönderip göndermediğine bakın |
| Mailleriniz reddediliyor, ret mesajında bir kara liste adı geçiyor | Sunucu IP'si veya alan adınız bir kara listeye girmiş | Önce kaynağı durdurun, sonra liste kaldırma sürecine geçin |
| Sağlayıcınızdan gönderim limiti veya askıya alma bildirimi | Hesaptan olağandışı hacimde posta çıkmış | Destek ekibinden hangi kaynağın tespit edildiğini isteyin |
| Gönderilmiş öğeler klasöründe tanımadığınız mailler | E-posta hesabının şifresi ele geçirilmiş | Şifreyi hemen değiştirin, cihazlarınızı tarayın |
| İletişim formundan anlamsız mesajlar ve çok sayıda gönderim | Form botlar tarafından kötüye kullanılıyor | Formu geçici kapatın, bot koruması ekleyin |
İlk adımlar
- Zaman çizelgesi tutun. Bounce'ların veya şikâyetlerin ne zaman başladığını not edin; kayıtlarda arama yaparken işinize yarar.
- Tüm e-posta hesaplarının şifrelerini değiştirin. cPanel'deki Email Accounts ekranındaki Manage seçeneğinden her hesabın şifresini düzenleyebilirsiniz. Güçlü ve benzersiz şifre kullanın: güçlü şifre rehberi.
- cPanel ve WordPress yönetici şifrelerini de değiştirin. Kaynak bir PHP betiğiyse saldırgan siteye başka bir yoldan girmiş demektir.
- Gönderimi durdurun. Panelinizde e-posta hesabını kısıtlama seçeneği varsa kullanın; yoksa veya kaynak belirsizse barındırma sağlayıcınızdan giden postayı geçici olarak durdurmasını isteyin.
- Kanıtları silmeyin. Şüpheli dosyaları silmeden önce bir kopyasını alın, örnek bir spam mailin tam başlığını saklayın.
Kaynağı bulun: üç olasılık
| Kaynak | Nasıl ayırt edilir? | Nereye bakılır? |
|---|---|---|
| Şifresi ele geçirilmiş posta kutusu | Mailler SMTP kimlik doğrulamasıyla belirli bir e-posta hesabı üzerinden gönderilir; genelde dış IP adreslerinden bağlanılır | Track Delivery raporunda gönderen ve kimlik doğrulama bilgisi, mail başlığındaki Received satırları |
| Siteye yerleştirilmiş PHP betiği | Mailler kimlik doğrulama olmadan, web sunucusu üzerinden PHP ile çıkar; gönderen çoğu zaman hosting kullanıcı adınızdır | Varsa X-PHP-Originating-Script başlığı, son değişen PHP dosyaları, erişim günlükleri |
| Kötüye kullanılan iletişim formu | Mailler sitenizin kendi form betiğinden çıkar, içerikleri form şablonunuza benzer | Erişim günlüğünde form adresine yapılan yoğun POST istekleri |
cPanel Track Delivery ile gönderim kayıtlarına bakın
cPanel belgelerine göre Track Delivery ekranı (Email bölümünde) hesabınızdan yapılan teslimatların raporunu gösterir. Panelinizde varsa şöyle kullanın:
- Show All ile tüm teslimatları, Show Blocked & Failed ile yalnızca başarısız olanları listeleyin. Spam dalgası sırasında başarısız teslimat sayısı genelde belirgin şekilde artar.
- Varsayılan sütunlar arasında From Address, Sender, Sent Time, Spam Score ve Recipient bulunur. Tablo seçeneklerinden Authentication ve Sender IP Address sütunlarını açın; ele geçirilmiş bir hesapta aynı gönderen adresinin tanımadığınız IP'lerden kimlik doğrulaması yaptığını görürsünüz.
- Bir mesajın Actions sütunundaki bilgi simgesiyle ayrıntılarını açabilirsiniz.
Belgeye göre tablo varsayılan olarak son 250 mesajı gösterir ve yalnızca sunucunun istatistik veritabanında kaydı olan mesajları listeler; üçüncü taraf bir posta servisi kullanıyorsanız sonuçlar doğru olmayabilir.
Mail başlıklarını okuyun
Bir bounce mesajının içinde genelde orijinal spam mailin başlıkları da bulunur. E-posta istemcinizde "orijinali göster" veya "kaynağı görüntüle" seçeneğiyle tam başlığı açın ve şunlara bakın:
- Received satırları: maili hangi sunucunun hangi IP'den aldığını gösterir. En alttaki satır ilk adımdır.
- X-PHP-Originating-Script: PHP'nin
mail.add_x_headerayarı açıksa,mail()ile gönderilen maillere betiğin kullanıcı kimliği ve dosya adı bu başlıkla eklenir. PHP kılavuzuna göre bu ayar varsayılan olarak kapalıdır; sunucunuzda açık değilse başlık görünmez.
# Başlık şu biçimde görünür (değerler örnektir)
X-PHP-Originating-Script: 1001:dosya-adi.phpBu başlıkta bir dosya adı görürseniz sitenizde o adı arayın. Başlık yoksa bir sonraki adıma geçin.
Son değişen dosyaları ve erişim günlüklerini inceleyin
Spam bir PHP betiğinden çıkıyorsa genellikle son günlerde eklenmiş veya değiştirilmiş bir dosya vardır ve bu dosya dışarıdan sık sık çağrılır. Terminal erişiminiz varsa (veya sağlayıcınızdan bu komutları çalıştırmasını isteyerek) şunlara bakabilirsiniz:
# public_html içinde son 7 günde değişen PHP dosyaları
find ~/public_html -type f -name "*.php" -mtime -7 -ls
# uploads klasöründe PHP dosyası olmamalı
find ~/public_html/wp-content/uploads -type f -name "*.php"
# Erişim günlüğünde en çok POST isteği alan adresler
# (erisim.log yerine kendi günlük dosyanızın yolunu yazın)
grep '"POST ' erisim.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20Listenin başında iletişim formu adresiniz varsa form kötüye kullanılıyordur. Tanımadığınız, anlamsız isimli bir PHP dosyası varsa büyük ihtimalle saldırganın yerleştirdiği betiktir. Bu dosyaları nasıl doğrulayacağınızı ve yanlış alarmları nasıl ayırt edeceğinizi şüpheli PHP dosyası ve web shell bulma rehberinde anlatıyoruz. Günlük okuma için Linux loglarını okuma yazısına da bakabilirsiniz.
Mail kuyruğu
Spam dalgasında sunucunun mail kuyruğu teslim edilemeyen binlerce mesajla dolabilir. cPanel belgelerine göre kuyruğu görüntüleme, silme ve yeniden teslim etme işlemleri WHM'deki Mail Queue Manager ekranındadır; bu ekran sunucu yöneticisine, sağlayıcı izin verirse bayilere açıktır. Paylaşımlı hostingde kuyruğa genelde erişiminiz olmaz; kaynağı durdurduktan sonra sağlayıcınızdan hesabınıza ait bekleyen spam mesajlarını temizlemesini isteyin. Aksi halde kaynak kapansa bile kuyruktaki mesajlar gönderilmeye çalışılır.
Gönderimi durdurun

Kaynak bir posta kutusuysa
- Şifreyi değiştirin ve bu şifreyi başka hiçbir yerde kullanmayın.
- Hesaba bağlı tüm cihazlarda (telefon, bilgisayar) yeni şifreyi girin; eski şifreyle bağlanmaya çalışan cihazları belirleyin.
- Şifrenin nereden sızdığını düşünün: kimlik avı maili, virüslü bir bilgisayar veya başka bir sitede aynı şifrenin kullanılması. Bilgisayarlarınızı güncel bir antivirüsle tarayın. Kimlik avı maillerini tanımak için sahte e-posta rehberine bakın.
- Hesapta tanımadığınız yönlendirme, filtre veya otomatik yanıt kuralı olup olmadığını kontrol edin.
Kaynak bir PHP betiğiyse
- Betiği silmeden önce kopyasını alın, sonra kaldırın.
- Yalnızca betiği silmek yetmez; saldırgan siteye bir açıktan girdi. Çekirdek dosyaları, eklentileri ve veritabanını WordPress hacklendi temizleme rehberindeki sırayla kontrol edin.
- Site Google tarafından da işaretlendiyse Google tehlikeli site uyarısı yazısındaki inceleme sürecini izleyin.
Kaynak iletişim formuysa
- Formu geçici olarak devre dışı bırakın.
- Form eklentinizi güncelleyin; kullandığınız eklentinin CAPTCHA veya honeypot (bot tuzağı) özelliğini açın.
- Formun alıcı adresini ziyaretçinin değiştirebileceği bir alan olarak bırakmayın; alıcı sabit olmalı.
- Ziyaretçiye "kopya gönder" özelliği sunuyorsanız kapatın; bu özellik formu herkese mail gönderen bir araca çevirebilir.
- Bot trafiğini ayırt etmek için bot trafiği tespit etme yazısına bakın. Yorum spamı ayrı bir konudur: WordPress spam yorum engelleme.
Kara listeden çıkma ve itibarı toparlama
Kaynak durduktan sonra itibar tarafına geçin. Sıra önemlidir: neden ortadan kalkmadan kara listeden çıkma talebi göndermek genelde reddedilir veya kısa sürede yeniden listeye girersiniz.
- Sunucu IP'nizin ve alan adınızın hangi listelerde olduğunu kontrol edin ve kaldırma süreçlerini izleyin: mail kara liste kontrolü ve çıkış. Paylaşımlı hostingde IP sunucuya aittir; birçok liste kaldırma talebini yalnızca IP'den sorumlu sağlayıcıdan kabul eder.
- SPF, DKIM ve DMARC kayıtlarınızı kontrol edin: SPF kaydı, DKIM, DMARC.
- cPanel belgelerine göre Email Deliverability ekranı alan adlarınızın DKIM, SPF ve PTR kayıtlarını kontrol eder ve sistem DNS'inizi yönetiyorsa Repair ile sorunlu kayıtları düzeltmeyi önerir. Bu özelliğin sağlayıcınız tarafından açılmış olması gerekir.
- Maillerin teslimini birkaç gün izleyin; Track Delivery'de başarısız teslimatların normale döndüğünü görün.
Genel teslim edilebilirlik sorunları için mailler neden spam'e düşer yazısındaki kontrol listesi de işinize yarar.
Tekrarlamaması için kontrol listesi
- Her e-posta hesabı için benzersiz, güçlü şifre; kullanılmayan hesapları silin.
- WordPress, eklentiler ve temalar güncel; kullanılmayanlar silinmiş: hack sonrası güvenlik sertleştirme.
- Formlarda bot koruması, sabit alıcı adresi.
- Düzenli yedek ve yedekten geri dönme planı: WordPress yedekleme ve geri yükleme.
- Bounce ve başarısız teslimat sayısında ani artışı fark edecek kadar düzenli kontrol.
Sık Sorulan Sorular
Göndermediğim maillerin bounce'ları geliyor. Hesabım kesin hacklendi mi?
Kesin değil. Spamciler sizin adresinizi sahte gönderen olarak da kullanabilir. Bounce'un içindeki orijinal mailin Received satırlarına bakın: mail sizin sunucunuzdan çıkmadıysa hesabınız değil adresiniz taklit edilmiştir. Bu durumda SPF, DKIM ve DMARC kayıtlarınızı sıkılaştırmak işe yarar. Track Delivery'de o maillere ait kayıt yoksa bu da sahteciliğe işaret eder.
Şifreyi değiştirdim ama spam devam ediyor. Neden?
Kaynak posta kutusu değil bir PHP betiği veya form olabilir; şifre değişikliği bu ikisini durdurmaz. Ayrıca kuyrukta bekleyen mesajlar kaynak kapandıktan sonra da gönderilmeye çalışılır. Son değişen dosyalara ve erişim günlüklerine bakın, sağlayıcınızdan kuyruğu temizlemesini isteyin.
X-PHP-Originating-Script başlığını göremiyorum.
PHP kılavuzuna göre bu başlığı ekleyen mail.add_x_header ayarı varsayılan olarak kapalıdır. Sunucunuzda açık değilse başlık eklenmez; o zaman dosya değişiklik tarihleri ve erişim günlükleri üzerinden ilerleyin. SMTP ile kimlik doğrulayan betikler için de bu başlık eklenmez.
Sağlayıcım hesabımın mail gönderimini durdurdu. Ne zaman açılır?
Bu karar sağlayıcınıza aittir. Genellikle kaynağın bulunup kapatıldığını göstermeniz beklenir: hangi hesabın veya dosyanın sorumlu olduğunu, şifreleri değiştirdiğinizi ve açığı kapattığınızı kısa bir notla destek talebine yazın.
Spam gönderilen alıcıların verileri için bir yükümlülüğüm var mı?
Saldırgan posta kutunuza veya sitenizin veritabanına eriştiyse kişisel veriler etkilenmiş olabilir. KVKK kapsamındaki bildirim yükümlülüğü için kişisel veri ihlali bildirimi rehberine bakın.
Yazılım, eklenti ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: WordPress hacklendi temizleme rehberi · Şüpheli PHP dosyası ve web shell bulma · Google tehlikeli site uyarısı · Hack sonrası güvenlik sertleştirme · Mail kara liste kontrolü · Mailler neden spam'e düşer · SPF kaydı · DKIM · DMARC