SMTP protokolü üzerinden e-posta bildirimleri gönderen özel bir e-posta gönderme uygulamasına (Windows) sahibim. Bu, bir kod sorusu gibi görünebilir StackOverflow , ama öyle değil. Uygulama iyi çalışıyor ve e-posta gönderme işlevi harika çalışıyor. Sorun, bazı sistemlerde, özellikle de Windows 7 Ultimate masaüstü sistemimde, giden bağlantıların tanımlanması zor zamanlarım tarafından engellenmesidir.
Gördüğüm sorun, bağlantı kurulduktan çok kısa bir süre sonra soket bağlantısının kodla kapatılmış olmasıdır. 10053
, hangisi 0x2745
, hangisi WSAECONNABORTED
"Kurulan bir bağlantı, ana makinenizdeki yazılım tarafından durduruldu." İçinde benim ana makinem ve bu haklıdır - uzaktaki sunucu bağlantı kesilmesinin kaynağı değildir. Bazen uygulama, kanal yukarıdan gelen güç tarafından tam olarak imha edilmeden önce 1-2 mesaj almak için zaman göndermeye devam eder.
İlk tahminim basit olduğu, güvenlik duvarı veya antivirüs olması gerektiği. Bu tür tek yazılım, güvenlik duvarı ve Windows Defender'da yerleşik olarak bulunur. Güvenlik duvarını kapatmak yardımcı değildir, Defender herhangi bir gerçek zamanlı aktivite yapacak şekilde ayarlanmamış, sadece talep üzerine çalıştırılabilir. Makine etki alanının bir parçası değil - saf bağımsız.
Buna ek olarak, SSL ve TLS ile güvenli bağlantılar göndermeyi denedim ve bu bir işe yaramadı. Aynı zamanda Google Mail sunucularına gönderme konusunda hiçbir sorunum yok. Bu kadar fark yaratan nedir bilmiyorum, iyi durumda Google sunucularından SSL sertifikası olabilir, ancak bu özel bir durum.
Sorular: faaliyetin uzak SMTP sunucusuna soket açmak ve posta işini yapmak olduğu düşünülürse, Windows'ta bu bağlantıyı zorla kapatma sebebi ne olabilir? Bu sorunu gidermek, nedenini bulmak ve devre dışı bırakmak için herhangi bir araç var mı?
2013-08-08 Güncelleme:
WireShark aşağıdaki TCP oturumunu gösterir:
1
Thunderbird, uygulamamın yapamayacağı e-postaları gönderdi. 2
Hata kodu dahili neden olduğunu gösteriyor (bilgisayarımın içinde), 3
Bağlantı kapatılmadan önce EHLO anlaşmasının tokalaşması gibi bir kaç ilk SMTP mesajı görebiliyorum, bu nedenle bağlantı ilk önce kuruluyor ve daha sonra bir nedenle kapatılıyor.