Bir e-posta adresinin mevcut olup olmadığı nasıl kontrol edilir?


26

Var olup olmadığını görmek için 2.000 e-posta adresini kontrol etmeye çalışıyorum. Her adrese e-posta göndermeden bir e-posta adresinin geçerli olup olmadığını kontrol etmenin yolları var mı?

Sınırsız bir çevrimiçi hizmet buldum , ancak tam sürümü satın almadan önce sadece 20 e-posta adresini kontrol ediyor.

Yanıtlar:


37

Sadece şeyiyle uğruna: Bazı SMTP sunucuları yapmak email adresi varsa gösterir. Başka bir cevapta tam bir örnek ardından :

telnet gmail-smtp-in.l.google.com 25

helo example.com
mail from: <me@example.com>
rcpt to: <somenonexistinguser@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596

Başarının ardından ve bir adresin geçerli olup olmadığını söylemek istemeyen ya da istemeyen sunucularda, son komut aşağıdakileri verir:

250 2.1.5 OK

Biri daha sonra quitherhangi bir e-posta göndermeden kolayca çağrılabilir . Yine de, çok fazla adres denediğinizde, bu sizi engelleyebilir.

(Gmail vrfykomutu desteklemiyor . Web sitesinde, yeni bir Gmail hesabı için kaydolurken "müsaitliği kontrol et" düğmesi de var . Bu size biraz bilgi verebilir , ancak eski adresler bir süre kullanılamayacak.)


1
SMTP VRFYbu amaç için komutu tanımlar .
yerçekimi

@grawity, teoride doğru olabilir, ancak VRFYGmail ile çalışmaz. ( Michael'ın cevabındaki
yorumuma bakınız

2
Eksik sunucular için tüm sunucular "yok" hatasıyla yanıt vermiyor, bu nedenle bu tamamen güvenilir değil. Sunucu bir dizi başka sunucu için bir proxy (ve / veya harici ikincil sunucu) ise, bir sonraki atlamada hangi hesapların geçerli olduğunu bilemeyebilir, bu nedenle bir şey için "250 Tamam" verir ve bazı sunucular bu şekilde ayarlanır. Spam gönderenlerin geçerli hesapları numaralandırmaya çalışmasını durdurmak için. Müşterilerimizin bazılarının posta sunucularının hızlı bir sınanması, denediğim 5’in 1’inin var olmayan bir hesap için 5xx yanıtı vermediğini gösterdi.
David Spillett

(@David, biliyorum. Bu yüzden yukarıdaki "bazı" kelimesini kullandım ... Ama bunu biraz vurguladım.)
Arjan

@Arjan Bunu otomatik hale getirmek için küçük bir piton senaryoyu yazdım gist.github.com/arulrajnet/c613bd0fad5de00bab2e
Axeldota

23

Bu mümkün olsaydı, dünya çapında spam gönderenler neşeyle şarkı söylerdi.

Üzgünüz ama hayır, herhangi bir e-posta adresinin olup olmadığını bilmek mümkün değil.

Bence bu bir özellik!

  • Eğer varsa bilmek sizin muhabirleriyle, o zaman onların iletişim bilgilerini bilecek.
  • Eğer varsa bilmiyorum senin muhabirleriyle, o zaman bir yabancısın ve sizden istenmeyen postaları almakla takdir olmayacaktır.
  • Eğer varsa bilirdim senin muhabirlerinin ve tuttukları değil onların adres değişikliklerden haberdar dediler, sonra bir (un?) Yaptık bilinçli bir karar postanızı almayacak şekilde.

Yapabileceğiniz en iyi şey, listenize bir e-posta göndermek ve sonra gelenleri (= teslim edilemeyenleri) kaldırmaktır.

Dikkatli ol! Bazı ülkelerde, bu konuda önceden açıkça izin verilmeyen kişilere istenmeyen toplu e-posta göndermek yasaktır.


Bunun için teşekkürler. Ancak evet, kişileri biliyoruz ancak bazıları pozisyonlarını veya şirketlerini değiştirdiklerinde bizimle iletişim bilgilerini güncellemedi. En son haber bültenini gönderdik ve e-posta adreslerini geri çekti ve e-postaların geri dönme oranının yüksek olması nedeniyle hesabımız yeniden etkinleştirildi. İnternette bir tane buldum ancak bunun güvenilir olup olmadığından emin değilim: verify-email.org
tintincutes

2
+1 - İşe yaradıysa çabucak kötüye kullanılacaktı. Bu yüzden hoş şeyler yiyemeyiz!
David Spillett

2
Bunun neden şiddetle yükseltildiğinden emin değilim. Etik 101 dersi? OP’nin kullanılmasını istediği gibi bir şey gördüm ve nefret dolu amaçlarla bile değil. Diğer cevaplar ve yorumlar birçok posta sunucusu için, özellikle de kurumsal olmayan / Google dışındaki kuruluşlar için mümkün olduğunu göstermektedir.
Daniel Beck

1
@Daniel: Bazıları ( çoğu , aslında) posta sunucuları / hizmetleri için kesinlikle mümkündür - ancak güvenilir bir şekilde mümkün değildir ve verilen herhangi bir adres için mutlaka güvenilir değildir. Etik bir yönden ziyade “kesin olarak bilemezsiniz” in teknik doğruluğu için oy kullandım.
David Spillett

1
İstenmeyen posta gönderenlerin sahte göndereni olarak kullanılan kişiler, çok fazla geri yayılma alırken bu "özellik" için çok mutlu olmayacaktır . (Dışında farklı bir kullanım ishal ara sıra sıçrama mesajdan From, Reply-toya Return-Path. Her mesaj için, ben iki kez dönen iletiler binlerce aldık Kolayca filtre hala çok güzel.)
Arjan

7

Bunu yapmanın iyi bir yolu yok. SMTP protokolünde 'VRFY' komutu var, ancak bunun çalışmasına izin veren birini tanımıyorum - spam gönderenler için çok yararlı. Çoğu ev sahibi artık sadece komutu reddedecek.

Şu anda yapabileceğiniz en iyi şey, e-postayı göndermek ve ne geri döndüğünü kaydetmektir (bazı posta ana bilgisayarlarının geri dönmek yerine yalnızca teslim edilemeyen postaları karaya koyacağına dikkat edin).

Bu listeyle işinizin veya amacınızın ne olduğunu bilmiyorum, ancak 2000 kişiye bir kerede e-posta gönderirseniz, bazı posta sahiplerinin spam göndericisi olarak işaretleneceğinizi bilmelisiniz.


1
Muhtemelen daha çok bir kişi listesini silmek gibi. Postalar yine de sekiyor.
Daniel Beck

Kişileri temizlemeye çalışıyor; Yeni bir rehber veritabanı tasarlamam gerekiyor. Farklı şirketlerden bir çok müşterimiz var, onları bir veritabanında kategorize etmem gerekip gerekmediğinden veya farklı şirketler için farklı bir DB oluşturmam gerektiğinden emin değiliz. En iyi yol ne olurdu?
ton

Doğru vrfy anlarsam , bir e-posta adresine değil, bir kullanıcı adına ihtiyaç duyar mıyım? Doğruysa, güvenlik nedeniyle spam gönderenlere karşı savaşmamak için esas olarak devre dışı bırakıldığını düşünüyorum. Gmail, hem günü vrfy existinguser, vrfy existinguser@gmail.com, vrfy someunknownuserve vrfy someunknownuser@gmail.comtüm verimi 252 2.1.5 Send some mail, I'll try my best, aynı Gmail sırasında rcpt to: yok bir e-posta adresi geçerli olup olmadığını ortaya koyuyor.
Arjan

Vrfy ile bir posta sunucusuna bağlanın, sonra vrfy kullanıcı adını (e-posta adresindeki @ işaretinden önceki kısım). Çalışıyorsa, kullanıcının gerçek olup olmadığını size evet veya hayır olarak söyleyecektir. Eğer işe yaramazsa (çoğu çalışmıyor), o zaman 'yasak' ya da 'hiçbir fikrim yok' diyecek. 'Hiçbir fikrim yok' yanıtının, temelde bulunan hesap listesine erişimi olmayan bir posta iletme sunucusu için tamamen meşru olduğunu unutmayın. Yani çalışırken bile, vrfy bu kadar kullanışlı olmayabilir.
Michael Kohne

2

Bir adresin gerçek olup olmadığını doğru bir şekilde belirlemek mümkün değildir - iddia edebileceğini iddia eden herhangi bir ürün yeteneklerini arttırıyor, böylece alaycı bir gözle yapılan diğer iddiaları dikkate almalısınız.

Halen mümkün olduğu kadar çok şey yapan F / OSS kütüphaneleri var: Piyasadaki çoğu yazılımın sadece bunun gibi iyi / kötü olanı kolayca kendiniz yapabileceğiniz şekilde süslü bir sarıcı olduğunu tahmin ediyorum. Kodlama deneyiminiz varsa. Ancak, doğrulama rutini ne kadar iyi olursa olsun, hem yanlış pozitif hem de yanlış negatif sonuçlar vermenin çok eğilimli olacağını unutmayın.

http://freshmeat.net/projects/emailaddressvalidationcomponent , örneğin, taze et için hızlı bir arama yapar ve açıklamanın doğru olduğunu varsayarak, aslında bir adresi doğrulamak için yapılabilecek her şeyi yapar.


@DanieL: Bunun için teşekkürler. Buna ne dersin? Bu aynı zamanda geçerli midir
tintincutes

@tintincute: oldukça geçerli görünüyor, Lifehacker kaynağım aynı videoyu kullanıyor ...
studiohack


1

Bir şirket bağlamında, Active Directory'de bir arama otomatikleştirilerek yapılabilir.


1

Bu işi otomatikleştirmek için bir Perl betiği yazmaya ne dersiniz? Şuna bir göz atın: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm


Bu aslında bir SMTP sunucusuna bağlanmak için SMTP komutlarını kullanır ve çok yakında çok fazla istek yaparsanız spam gönderen biri olarak etiketlenebilir ve engellenebilir. Bu nedenle, binlerce e-postayı kontrol etmek için iyi değil.
Bulrush

1

Deneyebilirsiniz: http://verify-emails.com/

Hala bir deneme ve satın alma servisidir, ancak tek e-postaların yanı sıra listeleri de kullanabilir ve kayıt formlarına dahil edilebilir.


Bu etki alanı satış içindir. Site öldü.
Bulrush

1

Ayrıca e-posta adreslerinin varlığını doğrulamak için bir yola ihtiyacım vardı, bu yüzden kendi küçük yardımcı programımı yazmaya başladım. (Python)

http://github.com/un33k/python-emailahoy

Sağlayıcı size karşı dürüst olduğunda% 100 doğrudur.
(gmail oldukça dürüst, ancak yahoo tüm e-postalara evet dediği gibi değil.)

Hiçbir şey yapmamaktan iyidir, çünkü spam'leri benim için% 50'den daha fazla azalttı.


0

Bu bağlantıyı kullanarak bir e-posta adresinin olup olmadığını kontrol etmek mümkündür: http://verify-email.org/ . E-posta adresine ping gönderir ve e- Okpostanın var olup Badolmadığını ve e-postanın sahte olup olmadığını yanıtlar . Bu sorun için yararlı bir bağlantı daha: http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html


1. bağlantı: tek adresleri kontrol etmek ücretsiz gibi gözüküyor, ancak soruda belirtildiği gibi 2000'i kontrol etmek ücretli yazılım gerektiriyor. Sorunun alternatif aradığı durum budur, bu yüzden bu soruya gerçekten bir çözüm değildir. 2. bağlantı ayrıca tek çeklerle de ilgilidir. Süper Kullanıcı, genellikle konuyla ilgili olan herhangi bir şeyi bırakmanın normal olduğu bir forum değildir. Amacı bir bilgi tabanı oluşturmaktır ve her cevap sorulana bir çözüm sağlamalıdır. Cevapları çekme eğiliminde olmayan cevaplar.
fixer1234
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.