EPosta Doğrulama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

EPosta Doğrulama

Mesaj gönderen lazio »

Bir mail adresini göndermeden önce kendi server ına doğrulama imkanımız varmı?

örn: aşağıdaki C# kodunda socket ile aaaa@bbb.com adresini bbb.com server ında sorgulayabiliyorum ancak SMTP server da güvenlik nedeni ile bazı ayarlar kapalıyken mail geçerli yada geçersiz olsa bile geçerli kodu gönderiyor. Haliyle bu kodun güvenilirliği kayboluyor..

Kod: Tümünü seç

string sMsg = "RCPT TO: aaaa@bbb.com\r\n";
byte[] iMsg = Encoding.ASCII.GetBytes(sMsg);

oSocket.Send(iMsg, 0, sMsg.Length, SocketFlags.None);

byte[] iBytes = new byte[1024];

while (oSocket.Available == 0)
  System.Threading.Thread.Sleep(100);

sResponse = Encoding.ASCII.GetString(iBytes);
[quote]

Bu işi halletmenin başka bir yolu varmı?
kolay gelsin..[/quote]
DeveloperToolKit

..::|YeşilMavi|::..
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Mesaj gönderen deltas »

Hocam yok. Zamanında nette çok aradım. Ama bulamadım. IDSMTP Verify komutu var. Onunlada yaptığınız zaman aynı şekilde ya sürekli hata kodu geliyor yada sürekli okey komutu geliyor. Zaten bunun dediğiniz gibi bir şekilde doğrulama ikanı olsaydı SPamcılar onu kullanırlardı. Spamcılar dorulatmak için boş mail atarak cevap alıyorlar. Doğrulamayı bu şekilde yapıyorlar.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

"RCPT TO: aaaa@bbb.com\r\n";
bu şekilde domain kontrol ediliyor anladığım kadarıyla yani @bbb.com kısmı, ama aaa user ını kontrol etmiyor/edemiyor.
Spamcılar dorulatmak için boş mail atarak cevap alıyorlar. Doğrulamayı bu şekilde yapıyorlar.
Boş mail e nasıl cevap alıyorlar hocam?
DeveloperToolKit

..::|YeşilMavi|::..
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Mesaj gönderen deltas »

Mail adrese gönbderiliyor. Boş mail olduğu için toplu yollandığında çok fazla vakit almıyor. Eğer gönderilen adres geçerli bi adres değilse gönderen kişinin mailine adrese ulaşmadı maili geliyor. Bu durumda spamcı abimiz bu adresi maillistinden düşüyor. biraz zahmetli bir iş ama sonuçta elinde sağlam bir maillist olmuş oluyor.
Bazılarıda mailin altında "unscruble" -tam aklımda değil- (maillistten çıkmak istiyorum manasında bi kelime kullanıyorlar) buna clik istiyorlar bunu cliklendiği zaman zaten otomatikmen kendi hazırlaıdğı sayfaya gidip adres doğrulatılıyor.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

deltas yazdı:Mail adrese gönbderiliyor. Boş mail olduğu için toplu yollandığında çok fazla vakit almıyor. Eğer gönderilen adres geçerli bi adres değilse gönderen kişinin mailine adrese ulaşmadı maili geliyor.
bunu bende düşündüm ama mail alma fonksiyonumuz yok malesef, sadece gönderirken öğrenmem gerekiyor.
araştırmalarım sonucunda ilk mesajımda belirttiğim yöntemin sadece domain i doğruladığını (@xxx.com kısmını) fark ettim.
DeveloperToolKit

..::|YeşilMavi|::..
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Mesaj gönderen deltas »

Hocam bunun başka yolu yok. Kusra bakmayın eğer geri dönüşümsüz yapıyorsanız u zaten spama girer :)
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

boyle bir durumda spamcilara gun dogmaz mi? adresler bir program vasitasiyla teyid edilir ardindan gecerli mail adresleri diye satisa cikar. smtp serverlar da bu tip dogrulama mekanizmasi olsa dahi hicbir sistem yoneticisinin bu tur bir ozelligi aktif hale getirecegini sanmiyorum.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

S.A

Hocam geçenlerde indirip incelediğim bir program bu işi yapıyor. Ama ne derece sağlıklı bilmiyorum deneyemedim. Gördüğüm kadarı ile sağlıklı idi. Ve RCPT TO: ile yapmış.
Snifferdan gördüğüm kadarı ile
RCPT TO: <frisking@hotmail.com>
göndermiş karşılığında
250 frisking@hotmail.com almış
Geçersiz mail içinde
550 Requested action not taken: mailbox unavailable
cevabını almıştı.

Super Email Harvester
http://www.123hiddensender.com/
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Cevap yazan arkadaşlara teşekkürler..
mero yazdı:S.A
Hocam geçenlerde indirip incelediğim bir program bu işi yapıyor. Ama ne derece sağlıklı bilmiyorum deneyemedim. Gördüğüm kadarı ile sağlıklı idi. Ve RCPT TO: ile yapmış.
Snifferdan gördüğüm kadarı ile
RCPT TO: <frisking@hotmail.com>
göndermiş karşılığında
250 frisking@hotmail.com almış
Geçersiz mail içinde
550 Requested action not taken: mailbox unavailable
cevabını almıştı.
@mero, sadece @hotmail.com domanini kontrol ediyordur, frisking user ını dikkate almıyordur, şayet yaptığım tüm denemelerde bunu gördüm.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@lazio yazdı:Boş mail e nasıl cevap alıyorlar hocam?
- Etik değerler gereği sonunda kişilerin listeden çıkma özgürlüklerinin verilmesi şarttır. :idea:

- Bu ön şartı uyguladıktan sonra zaten kullnılan bir tekniği açayım.

- Kullanıcının maili okuduğunun teyidi için bir HTML sayfa gönder. Bu sayfa PHP içierikli bir siteden resim-mesaj göstersin. Resim gösterilirken, sitede bir MySQL veritabanına kayıt yapılsın. Gönderdiğin her mailde bir mail kodu olsun, kullanıcı maili okursa bu kodu PHP ile dönmüş, veritabanında bu kod yoksa INSERT edilmiş olsun. Varsa bişey yapmasın.

- Bu sana lazım olan başat iki bilgiyi kazandırır...

1. Okundu onayı..
2. dolayısı ile Mail'in geçerli olduğu..

- Zaten mail geçersizse sana Mail Delivery olumsuz mesajı dönecektir.

- Bir sonraki grup mesajında bunu değerlendirip listeni günceller baştan başlarsın. Bir noktada bu liste kusursuzlaşır ve müşteri portföyün belirginleşir.

- Sonra geri dönüşümlü/dönüşümsüz ne ise bu veritabanını MySQL'den PHP ilemi başka bir şekilde mi nasıl istersen kullan.
Resim
Resim ....Resim
FrontPage
Üye
Mesajlar: 25
Kayıt: 08 Mar 2004 10:29
İletişim:

Mesaj gönderen FrontPage »

Merhaba

öncelikle spam emaillerin yasaklanması için kullanılan sistemlerden birkaçından bahsetmek istiyorum.

bir email adresinin deneme@deneme.com olduğunu kabul ederek yazıma devam ediyorum.
domain adresini aldıktan sonra, bu domainin bir spamcı olup olmadığını kontrol etmek için bir kaç seçenek var.
Benim tavsiyem birinci yol domainin dns adresinin reverse dns olup olmadığını kontrol etmen. Spamcılar (advanced mass sender vs.) bazı programlarla email gönderdikleri zaman kullandıkları ip adresi üzerinden email gönderiyorlar. Bu ip adresi adsl gibi bir iss için email gönderimi için reverse edilmemiş bir email adresidir. Bununla ilgili gerekli bilgiyi http://www.dnsreport.com adresinden ayrıntılı bir şekilde bulabilirsin.
Spamı algılamak için bir başka yöntem de email adresinin gönderilen sunucuda email alımına açık olup olmadığı. Yani email adresinin geçerli olup olmadığını. Bunu http://www.dnsstuff.com adresinde bir test yapılıyor. Tabi tam net bir çözüm olmamakla birlikte çok etkili olduğu söylenemez.
http://www.dnsstuff.com/tools/mail.ch?d ... deneme.com
bu adres gibi email sunucusunun cevabı alınıyor. Tabi bununla ilgili çok sayıda döküman da bulunabilir.

Bununla birlikte internette spam evleri vardır. Bunları yine http://www.dnsstuff.com adresinden spam database arayarak öğrenebilirsiniz.
Bu email programları içerisinde maps tablosu olarak değerlendirilmektedir.

Bu bilgilerin üçünü birlikte kullandığınız zaman spamlarla başetmeniz gerçekten olası. Ben kendi sunucumda maps tablosu kullanıyorum. Spamlar %80 %90 oranında azaldılar.

Sanırım aradaığınız cevaplar bu bilgilerde var.

Saygılar...
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

S.A
Yukarda gönderdiğim programı test ettim gayet sağlıklı çalışıyor.
Programın ayarlar bölmünde "Specified user name" kısmı var buraya kendi msn adresimdeki 20 den fazla kişiyi girdim bunun yanında abuk subuk 20 tane mail adresi girdim ve programı çalıştırdığımda cevap olarak sadece benim mail adreslerini geri dönderdi.
Bu işlemin tamamınıda" RCPT TO:" ile yaptı.

Bence siz yanlış serverda sorguluyorsunuz.

Program hotmail için mx1.hotmail.com dan sorgulama yapıyor. Yahoo içinde e.mx.yahoo.com dan sorguluyor. SMTP veya MAIL değil. SMTP nin ne anlam ifade ettiğini biliyorum ama mx ler ne için kullanılıyor bilmiyorum. Cevaplar sağlıklı.
FrontPage
Üye
Mesajlar: 25
Kayıt: 08 Mar 2004 10:29
İletişim:

Mesaj gönderen FrontPage »

mx ayarı o domaine bağlı olan mail sunucunun ip adresini içeren, çözümleyen veridir.
bir domain adresinin birden fazla mx adresi olabilir
mesela : hotmail.com için
mx1.hotmail.com
mx2.hotmail.com
mx3.hotmail.com gibi.
o yüzden denetleme yaptırılmadan önce dns çözümleyerek mx adreslerinin bulunması gerekli.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

herkese teşekkürler..
mrmarman yazdı:
@lazio yazdı:Boş mail e nasıl cevap alıyorlar hocam?
- Etik değerler gereği sonunda kişilerin listeden çıkma özgürlüklerinin verilmesi şarttır. :idea:

- Bu ön şartı uyguladıktan sonra zaten kullnılan bir tekniği açayım.

- Kullanıcının maili okuduğunun teyidi için bir HTML sayfa gönder. Bu sayfa PHP içierikli bir siteden resim-mesaj göstersin. Resim gösterilirken, sitede bir MySQL veritabanına kayıt yapılsın. Gönderdiğin her mailde bir mail kodu olsun, kullanıcı maili okursa bu kodu PHP ile dönmüş, veritabanında bu kod yoksa INSERT edilmiş olsun. Varsa bişey yapmasın.

- Bu sana lazım olan başat iki bilgiyi kazandırır...

1. Okundu onayı..
2. dolayısı ile Mail'in geçerli olduğu..

- Zaten mail geçersizse sana Mail Delivery olumsuz mesajı dönecektir.

- Bir sonraki grup mesajında bunu değerlendirip listeni günceller baştan başlarsın. Bir noktada bu liste kusursuzlaşır ve müşteri portföyün belirginleşir.

- Sonra geri dönüşümlü/dönüşümsüz ne ise bu veritabanını MySQL'den PHP ilemi başka bir şekilde mi nasıl istersen kullan.
Muharrem abi değerli bilgileriniz için çok teşekkürler, bunu bir ticari uygulamada kullanacağız kesinlikle spam tarzı bişey olmayacak, şirketler kendi mevcut müşterilerine belli periyotlarla mesaj gönderecekler (bankaların kampanya, hesap özeti vs vs mesajları gibi) gönderilen mesajlar genelde önemli bilgiler olacağı için eğer bir nedenden dolayı (mail box dolu olabilir, mail adresi yanlış girilmiş olabilir vs)mesajlar gitmezse, birkaç kez daha denendikten sonra müşteri bir şekilde uyarılacak.
Mesajı gönderildikten sonra, açıldığı anda onay alma olayı her durumda işe yaramayabilir, ayrıca karşı taraftan mail in Delivery statusunu bekleyen bir modul de düşünmüyoruz ki kullanıcı thunderbird kullanıyorsa çıkan iletişim kutusuna Delivery mesajını gönderme de diyebilir :)

Neticede mail i göndermeden önce böyle bir kontrol olabilirmi diye düşündüm ama sanırım arkadaşlarında dediği gibi varsa bile spamcılar yüzünden bu ayar server dan kapatılmıştır..

@mero, ben hotmail gibi ücretsiz mail sağlayan serverlarda denememiştim, bir kaç farklı şirket mailinde denedim, eğer hotmail gibi serverlarda çalışıyorsa bile şirket mail lerinde çalışmadığı için kullanamam.

değerli cevaplarınız için herkese tekrar teşekkür ederim
DeveloperToolKit

..::|YeşilMavi|::..
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Mesaj gönderen deltas »

@lazio Hocam aslında "rcpt to"'yu önceden denemek hiç aklıma gelmemişti. Bu gibi kontrolleri direk olarak verfy komutu ile yapıyordum. ve sürekli hata mesajı geliyordu. SMTP kullanarak işi halletmeye çalışıyordum olmuyordu. Burada arkadaşların verdiği bilgileri bi deneyeyim dedim. Ve telnet ile bağlantı yaparak yaptığımda sistem çok ii bi şekilde çalıştı. ve bana cevap verdi. Anacak mail server olarak "merak" bana cevap vermedi. Daha doğrusu sürekli telnet bağlantımı düşürdü. Hotmail ve yahoodanda çok fazla sorgu yapmaya kalkınca beni spamcı olarak kabul edip ip adresimin işlem yapmasını engelledi. sonuçta siz bunu delphide yaptığınızda sürekli aynı ip adresi yerine değişken ip kullanırsanız bu sorunuda çözersiniz. koddda sizinde hata almanız herhalde sürekli aynı ip numarasında sorgu çekmekten güvenlik size izin vermiyor. Belli dilimlerde ip değiştirerek deneyin. Şu şekilde:

Kod: Tümünü seç

-telnet mx3.hotmail.com 25
gelen cevap: 220 by0-mc7-f10.bay0.hotmail.com ........
-helo deltas
gelen cevap:250 by0-mc7-f10.bay0.hotmail.com <3.3.1.4> helo ...
- mail from: rastgele@hotmail.com
gelencevap : 250 rastgele@hotmail.com ... Sender OK..
-rcpt to : deneme@hotmail.com
gelen cevap : 250 deneme@hotmail.com
en sonda 250 cevabı ile bana adresi doğruluyor. Eğer adres yanlış ise 550, yanlış komut ise 500 hatası veriyor. diğer hataları pek fazla inceleyemedim. Bunu delphiye uyarlarsanız sorunu halledersiz.

Ayrıca DNS leri bulmak içinde :

Kod: Tümünü seç

-nslookup
-set type=mx
-hotmail.com
Bunlarda bize DNS adreslerini verir.
yukarıda verilen programıda birazcık inceledim. İndy companentini kullanarak yukarıda yapılan işlemlere benze yöntem kullanmış. Ancak o bağlantıyı idtelnetle değilde; DNS sorgularını direk olarak iddnsresolver kullanmış . bağlantıları yaparken İdtcp ve id udp kullanmış. Diğer indiy companenlerini ne için kullandığını pek fazla inceleyemedim. Ama bununların dışında farklı 13-14 indy companenti kullanmış. İncelemek gerek :)
Ayrıca yöntemi bazı şirket mail serverlerinda denedim çalıştı. Ancak sorguyu yaparken sorguyu yapmanız gereken DNS adresinden yapmanız lazım. mesela hotmail için mx1.hotmail.com kullanıyorsak; başka bi yer için sirketa.com için DNS sorgusu sonucu gelen adresi kullanın. bi kaç yer için denedim. farklı adresler verdi. nslookup ile önce bi DNS sorgusu çekerek bi inceleyin. Şirket dedikleriniz için.
Not: mx = mail exchanger demekmiş.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Cevapla