Bagaimana cara memeriksa apakah ada alamat email?

26

Saya mencoba memeriksa 2.000 alamat email untuk melihat apakah ada. Adakah cara untuk memeriksa apakah alamat email itu valid tanpa mengirim email ke setiap alamat ?.

Saya menemukan layanan online Email Tidak Terbatas , tetapi hanya memeriksa 20 alamat email sebelum harus membeli versi lengkap.

tintincutes
sumber

Jawaban:

37

Hanya demi kelengkapan: beberapa server SMTP lakukan menunjukkan jika alamat email ada. Mengikuti contoh lengkap dalam jawaban lain :

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

helo example.com
mail from: <[email protected]>
rcpt to: <[email protected]>
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

Setelah berhasil, dan pada server yang tidak bisa atau tidak ingin memberi tahu apakah suatu alamat valid, perintah terakhir akan menghasilkan:

250 2.1.5 OK

Orang kemudian bisa memohon quittanpa mengirim email sama sekali. Namun, ketika mencoba banyak alamat, ini mungkin juga membuat Anda diblokir.

(Gmail tidak mendukung vrfyperintah. Di situs web, ia juga memiliki tombol "periksa ketersediaan" saat mendaftar untuk akun Gmail baru. Itu juga bisa memberi Anda beberapa informasi, tetapi alamat lama tidak akan tersedia untuk beberapa waktu.)

Arjan
sumber
1
SMTP mendefinisikan VRFYperintah untuk tujuan ini.
grawity
@grawity, itu mungkin benar secara teori, tetapi VRFYTIDAK bekerja dengan Gmail. (Lihat komentar saya pada jawaban Michael .)
Arjan
2
Tidak semua server merespons dengan kesalahan "tidak ada" untuk akun yang hilang, jadi ini tidak sepenuhnya dapat diandalkan. Jika server adalah proxy (dan / atau server sekunder eksternal) untuk sejumlah server lain, mungkin tidak tahu akun mana yang valid pada hop berikutnya sehingga akan memberikan "250 OK" untuk apa pun, dan beberapa server ditetapkan seperti ini di untuk menghentikan spammer yang mencoba menghitung akun yang valid. Pengujian cepat terhadap beberapa server email klien kami menunjukkan 1 dari 5 yang saya coba tidak memberikan respons 5xx untuk akun yang tidak ada.
David Spillett
(@ David, saya tahu. Itu sebabnya saya menggunakan kata "some" di atas ... Tapi saya sedikit menekankan itu.)
Arjan
@Arjan Saya menulis skrip python kecil untuk mengotomatiskan gist.github.com/arulrajnet/c613bd0fad5de00bab2e
Arul
23

Jika ini memungkinkan, spammer di seluruh dunia akan bernyanyi dengan gembira.

Maaf tapi tidak, itu tidak mungkin untuk mengetahui apakah alamat email yang diberikan ada atau tidak.

Menurut pendapat saya, ini adalah fitur!

  • Jika Anda tahu koresponden Anda, maka Anda akan tahu informasi kontak mereka.
  • Jika Anda tidak mengenal koresponden Anda, maka Anda adalah orang asing dan mereka tidak akan menghargai menerima surat yang tidak diminta dari Anda.
  • Jika Anda dulu tahu koresponden Anda dan mereka tidak memberi tahu Anda tentang perubahan alamat mereka, maka mereka telah membuat (sadar?) Keputusan sadar untuk tidak menerima email Anda.

Yang terbaik yang dapat Anda lakukan adalah mengirim email ke daftar Anda dan kemudian menghapus yang bouncing (= yang tidak dapat dikirim).

Hati-hati! Di beberapa negara adalah ilegal untuk mengirim email massal yang tidak diminta kepada orang-orang yang belum secara eksplisit mengizinkan ini sebelumnya.

Torben Gundtofte-Bruun
sumber
Terima kasih untuk ini. Tapi ya, kami tahu kontaknya tetapi beberapa dari mereka tidak memperbarui detail kontak mereka dengan kami ketika mereka mengubah posisi atau perusahaan. Kami mengirim buletin terakhir kali dan memantulkan kembali alamat email dan akun kami diaktifkan kembali karena tingginya persentase bouncing email. Saya menemukan satu di internet tetapi tidak yakin apakah ini dapat diandalkan: memverifikasi-email.org
tintincutes
2
+1 - jika berhasil dengan cepat akan disalahgunakan. Inilah sebabnya kami tidak bisa memiliki hal-hal yang menyenangkan!
David Spillett
2
Tidak yakin mengapa ini sangat dibalik. Pelajaran etika 101? Saya telah melihat sesuatu seperti apa yang OP inginkan digunakan, dan bahkan tidak untuk tujuan jahat. Jawaban dan komentar lain menyarankan itu mungkin untuk banyak server surat, terutama perusahaan / non-Google.
Daniel Beck
1
@Aniel: tentu saja mungkin untuk beberapa server / layanan email ( banyak , pada kenyataannya) - tetapi itu tidak dapat diandalkan dan juga tidak selalu dapat diandalkan untuk alamat yang diberikan. Saya memilih kebenaran teknis "Anda tidak tahu pasti" daripada aspek etika apa pun.
David Spillett
1
Orang yang digunakan sebagai pengirim spam palsu berjalan, tidak akan terlalu senang dengan "fitur" ini ketika menerima banyak backscatter . (Terlepas dari pesan bouncing sesekali dari run yang menggunakan berbeda From, Reply-toatau Return-Pathuntuk setiap pesan, saya telah menerima ribuan pesan bouncing pada dua kesempatan. Mudah difilter, masih tidak terlalu baik.)
Arjan
7

Sebenarnya tidak ada cara yang baik untuk melakukannya. Ada perintah 'VRFY' dalam protokol SMTP, tapi saya tidak tahu siapa pun yang memungkinkan itu beroperasi lagi - itu terlalu berguna untuk spammer. Sebagian besar host hanya akan menolak perintah itu lagi.

Yang terbaik yang dapat Anda lakukan sekarang adalah mengirim e-mail dan mencatat apa yang memantul (mencatat bahwa beberapa host surat hanya akan mengolesi surat yang tidak terkirim alih-alih memantulkannya).

Saya tidak tahu apa tujuan bisnis Anda dengan daftar ini, tetapi Anda harus tahu bahwa jika Anda mengirim email ke 2000 orang sekaligus, Anda kemungkinan akan ditandai sebagai spammer oleh beberapa host email.

Michael Kohne
sumber
1
Mungkin lebih seperti membersihkan daftar kontak. Surat tetap terpental.
Daniel Beck
Mencoba membersihkan kontak; Saya perlu merancang basis data kontak baru. Kami memiliki banyak klien dari perusahaan yang berbeda, tidak yakin apakah saya harus mengkategorikan mereka dalam satu database atau akan membuat DB yang berbeda untuk perusahaan yang berbeda. Apa yang akan menjadi cara terbaik?
tintincutes
Jika saya mengerti dengan benar, maka vrfy apakah akan memerlukan nama pengguna , bukan alamat email? Jika benar, maka saya kira itu terutama dinonaktifkan karena alasan keamanan, bukan untuk memerangi spammer? Pada Gmail, baik vrfy existinguser, vrfy [email protected], vrfy someunknownuserdan vrfy [email protected]semua hasil 252 2.1.5 Send some mail, I'll try my best, sementara di Gmail yang sama rcpt to: tidak mengungkapkan jika alamat email valid.
Arjan
Dengan vrfy, Anda terhubung ke server surat, lalu nama pengguna vrfy (bagian sebelum @ di alamat email). Jika berfungsi, itu akan memberi tahu Anda ya atau tidak apakah pengguna itu nyata. Jika itu tidak berhasil (banyak yang tidak) maka ia akan mengatakan 'dilarang', atau 'Saya tidak tahu'. Perhatikan bahwa jawaban 'Saya tidak tahu' benar-benar sah untuk host penerusan surat yang tidak memiliki akses ke daftar akun yang kurang baik. Jadi, bahkan ketika bekerja, vrfy mungkin tidak berguna.
Michael Kohne
2

Tidak mungkin menentukan secara akurat apakah alamat itu asli atau tidak - produk apa pun yang mengklaim dapat meningkatkan kemampuannya sehingga Anda harus mempertimbangkan klaim lain yang dibuat dengan mata sinis.

Ada ada perpustakaan F / OSS yang melakukan sebanyak mungkin untuk dilakukan: Saya kira sebagian besar perangkat lunak di pasar hanya pembungkus mewah di sekitar mereka sehingga Anda mungkin dapat dengan mudah membuat sendiri yang hanya baik / buruk jika Anda memiliki pengalaman pengkodean. Tetapi ingat bahwa tidak peduli sebagus apa pun rutin validasi, akan cenderung memberikan hasil positif palsu dan negatif palsu.

http://freshmeat.net/projects/emailaddressvalidationcomponent misalnya muncul pada pencarian cepat untuk freshmeat dan dengan asumsi deskripsi benar itu melakukan semua yang sebenarnya dapat dilakukan untuk mencoba memverifikasi alamat.

David Spillett
sumber
@DanieL: Ok terima kasih untuk ini. Bagaimana dengan yang ini? Apakah ini juga valid: techie-buzz.com/how-to/…
tintincutes
@tintincute: terlihat cukup valid, sumber Lifehacker saya menggunakan video yang sama ...
studiohack
1

Di dalam konteks perusahaan, ini bisa dilakukan dengan mengotomatiskan pencarian di direktori aktif.

David
sumber
1

Bagaimana dengan menulis skrip Perl untuk mengotomatisasi pekerjaan ini? Lihat ini: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm

Jassi
sumber
Ini sebenarnya menggunakan perintah SMTP untuk terhubung ke server SMTP, dan jika Anda membuat terlalu banyak permintaan terlalu cepat Anda bisa dilabeli sebagai spammer dan diblokir. Jadi, tidak baik untuk memeriksa ribuan email.
Bulrush
1

Anda dapat mencoba: http://verify-emails.com/

Ini masih merupakan layanan coba dan beli, tetapi dapat menangani daftar serta email tunggal dan dapat dimasukkan ke dalam formulir pendaftaran.

chris
sumber
Domain itu untuk penjualan. Situs sudah mati.
Bulrush
1

Saya juga membutuhkan cara untuk memverifikasi keberadaan alamat email, jadi saya akhirnya menulis utilitas kecil saya sendiri. (Python)

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

Ini 100% akurat ketika penyedia jujur ​​dengan Anda.
(gmail cukup jujur, tapi yahoo TIDAK seperti yang dikatakan ya untuk semua email.)

Ini lebih baik daripada tidak sama sekali, karena mengurangi spam lebih dari% 50 untuk saya.

un33k
sumber
0

Dimungkinkan untuk memeriksa apakah alamat email ada dengan menggunakan tautan ini: http://verify-email.org/ . Itu ping alamat email dan merespons Okjika email itu ada, dan Badjika email itu palsu atau tidak ada. satu lagi tautan yang bermanfaat untuk masalah ini: http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html

Bhavinkumar Patel
sumber
Tautan 1: sepertinya memeriksa satu alamat gratis, tetapi memeriksa 2000, seperti yang ditanyakan dalam pertanyaan, memerlukan perangkat lunak berbayar. Itulah situasi di mana pertanyaan mencari alternatif, jadi ini sebenarnya bukan solusi untuk pertanyaan itu. Tautan ke-2 juga berkaitan dengan cek tunggal. Pengguna Super bukan forum, di mana biasanya meninggalkan apa pun yang umumnya terkait dengan topik. Tujuannya adalah untuk membangun basis pengetahuan, dan setiap jawaban harus memberikan solusi untuk apa yang diminta. Jawaban yang cenderung tidak menarik downvotes.
fixer1234