12.01.2012

Başka bir "Mail gönderdiler, alamıyorum" şikayeti daha

Kesinlikle en sevmediğim şey, ulaşmayan e-postaların peşinden koşmak. Çünkü bu sorunların %95'i kayda değer olmayan sebeplerden kaynaklanıyor; anlık yoğunluk, yanlış adres, izin verilen boyutun üzerinde ekler vs. Ama bu sıradan sorunları bile teşhis etmek yüzlerce satır log dosyasını incelemeyi ve saatler harcamayı gerektiriyor.

Ancak dün aldığım bir çağrıda durum farklıydı. Bizim gönderdiğimiz karşı tarafa ulaşmasına rağmen, karşı tarafın gönderdiği mesajlar bize ulaşmıyordu. Karşı taraf, bizim sunucumuzu başarılı bir şekilde buluyor, SMTP oturumu başlıyor, fakat aniden sonlanıyordu. SMTP loglarında şu şekilde satırlar buldum:
xxx.xxx.xxx.xxx EHLO diger.mail.sunucu 250
xxx.xxx.xxx.xxx MAIL FROM: <karsi@taraf.com> 250
xxx.xxx.xxx.xxx RCPT TO:<bizim@taraf.com> 550
xxx.xxx.xxx.xxx QUIT diger.mail.sunucu 240
Bu satırlardaki 550 hata kodu Microsoft'un sayfasında şu şekilde açıklanmış:
Genel protokol hatası (SMTP hatası). EHLO'ya cevap olarak uzak SMTP sunucunun cevabı seviye 500 hatası oldu ve gönderen sistem bağlantıyı sonlandırarak uzaktaki sistemin protokolü kabul etmediğine dair bir NDR yaratacak. (örneğin artık var olmayan bir Hotmail hesabına mesaj gönderilmişse 550 SMTP hatası oluşur.)
Buna göre 550 hatasını veren bizim sunucu, ama sebebi belli değil. Bu arada karşı tarafın alan adı ile ilgili bir çalışma yaptım ve şu sonuçlara ulaştım:
  1. Karşı tarafın MX kaydı ayakta ve çalışıyor. Bizim gönderdiğimiz e-postaları bu IP adresi kabul ediyor.
  2. Ancak bize gelen e-postalar farklı bir IP adresinden geliyor. POP3 ve SMTP sunucularını farklı sistemler üzerinde tutmak çok sık rastlanmasa da olabilecek birşey. Ama DNS kayıtlarında bu IP adresi yok.
  3. Bir SPF kaydı da yok.
Exchange sunucuda Wireshark'ı çalıştırıp söz konusu iki IP adresini de içeren tüm trafiği yakalaması için bir capture filter oluşturdum. Sonra bize e-posta gönderemeyen alıcıya bir mesaj göndererek bir deneme yapmasını istedim. Karşı taraf mesaj göndermeyi denediğinde Wireshark başarılı bir şekilde tüm trafiği yakaladı. Wireshark'ta "Follow TCP Stream" komutunu vererek tüm oturumu görüntülediğimde 550 hatasının sebebini buldum.
Response parameter: 5.7.1 Your IP address (xxx.xxx.xxx.xxx) is in black list provided by dnsbl.sorbs.net.
Görüldüğü gibi karşı tarafın IP'si Sorbs'un karalistesinde. MX kaydını gösteren IP adresi ile e-postaları gönderen IP adresinin farklı olması bilgisini kullanarak diyebilirimki karşı tarafın hizmet aldığı hosting firması daha önce de benzer şekilde bir karalisteye girmiş, ve pratik çözüm özgürlüğünü (!) kullanarak hemen SMTP sunusunu farklı bir adrese taşımış. Ancak sorunun kaynağına inmeden IP adersi değişirse sorun tekrarlanıyor.

Hiç yorum yok: