Cara memblokir alamat e-mail sekali pakai saat pendaftaran
Tiga cara menangkap alamat e-mail sementara di formulir pendaftaran, dari daftar blokir statis hingga API, lengkap dengan kode, serta kesalahan yang memblokir pengguna asli.
Apa yang termasuk e-mail sekali pakai
Alamat sekali pakai (atau sementara) berasal dari layanan yang memberikan kotak masuk tanpa pendaftaran, biasanya untuk beberapa menit atau jam. Mailinator, Guerrilla Mail, 10 Minute Mail, dan ribuan domain yang kurang dikenal bekerja seperti ini. Layanan ini berguna bagi orang yang ingin menghindari buletin, dan sama bergunanya bagi siapa pun yang membuat banyak akun.
Tiga kategori yang mirip sering tertukar dengannya dan perlu perlakuan berbeda:
- Relay privasi seperti
privaterelay.appleid.comdari Masuk dengan Apple,duck.comdari DuckDuckGo, atau Firefox Relay meneruskan ke kotak masuk asli yang dipakai jangka panjang. Memblokirnya merugikan pelanggan yang peduli privasi. Perlakukan paling banyak sebagai sinyal risiko kecil. - Penyedia gratis seperti Gmail, Outlook.com, atau Yahoo bukan layanan sekali pakai. Pola penyalahgunaannya berbeda: alias dari satu kotak masuk, dibahas di panduan alias Gmail kami.
- Domain yang sama sekali tidak bisa menerima e-mail — salah ketik seperti
gmial.comatau domain karangan. Ini juga layak ditangkap, karena tidak ada yang bisa mengonfirmasi akun di sana.
Opsi 1: daftar blokir statis di kode Anda
Daftar sumber terbuka domain sekali pakai dikelola di GitHub dan berisi puluhan ribu entri. Cara paling sederhana adalah memuat salah satunya ke dalam set dan memeriksa domain saat pendaftaran:
# Python DISPOSABLE = set(open("disposable_domains.txt").read().split()) def is_disposable(email: str) -> bool: domain = email.rsplit("@", 1)[-1].strip().lower().rstrip(".") parts = domain.split(".") # subdomain juga: mail.tempdomain.com -> tempdomain.com return any(".".join(parts[i:]) in DISPOSABLE for i in range(len(parts) - 1))
Tidak berbiaya dan tidak menambah latensi. Kekurangannya:
- Daftarnya usang. Domain sekali pakai baru terus muncul, dan banyak layanan sengaja berganti domain untuk menghindari daftar blokir. Daftar yang disalin enam bulan lalu tidak memuat yang terbaru — justru yang dipakai penyalahguna.
- Daftar saling berbeda. Daftar yang berbeda memuat domain yang berbeda, dan sebagian mengandung kesalahan. Menggabungkan beberapa memberi cakupan lebih luas tetapi perawatan lebih banyak.
- Anda butuh pekerjaan pembaruan dan deploy (atau muat ulang) setiap kali ada perubahan.
Opsi 2: periksa server e-mail (MX)
Kueri DNS untuk rekaman MX domain memberi tahu apakah domain itu bisa menerima e-mail. Ini menangkap salah ketik dan domain karangan yang tidak ada di daftar mana pun:
# Python, dengan dnspython import dns.resolver def can_receive_mail(domain: str) -> bool: try: return len(dns.resolver.resolve(domain, "MX", lifetime=2)) > 0 except dns.resolver.NXDOMAIN: return False except Exception: return True # masalah DNS bukan salah pengguna: loloskan
Simpan hasilnya di cache per domain, pakai batas waktu singkat, dan jangan pernah menolak pendaftaran karena resolver DNS Anda sedang bermasalah. Perlu dicatat, pemeriksaan MX tidak menangkap layanan sekali pakai — mereka menerima e-mail dengan baik, itulah tugasnya.
Opsi 3: API yang mengerjakan keduanya dan tetap mutakhir
API memindahkan perawatan daftar dan kueri MX keluar dari kode Anda. Attrelix menggabungkan beberapa daftar publik, memperbaruinya setiap hari, mencatat kapan setiap domain pertama terlihat, memeriksa server e-mail, dan menormalkan alias Gmail dalam satu panggilan — sekaligus menilai jaringan dan perangkat, sehingga Anda mendapat satu keputusan per pendaftaran, bukan hanya penilaian e-mail. Anda bisa mencoba pencarian domain secara gratis di pemeriksa e-mail sekali pakai.
curl https://attrelix.com/v1/check \ -H "Authorization: Bearer $ATTRELIX_SECRET" \ -H "Content-Type: application/json" \ -d '{"email":"someone@mailinator.com","ip":"203.0.113.9"}'
Responsnya memuat email.disposable, email.relay, email.mx, dan alamat yang dinormalkan, beserta keputusan keseluruhan dan alasannya.
Kesalahan yang memblokir pengguna asli
- Memblokir relay. Relay privat Apple dipakai banyak pengguna iPhone yang masuk dengan Apple. Memblokirnya berarti memblokir mereka.
- Memblokir karena galat DNS. Batas waktu habis bukan bukti domain itu palsu.
- Daftar yang terlalu luas. Beberapa daftar komunitas memuat penyedia kecil yang sah atau domain perusahaan. Jika pelanggan mengeluh, izinkan domainnya alih-alih berdebat.
- Pesan galat tanpa jalan keluar. “E-mail tidak valid” membingungkan orang sungguhan yang mengetik alamat sungguhan. Jelaskan bahwa kotak masuk sementara tidak diterima dan minta alamat lain.
Yang tidak tertangkap oleh pemeriksaan sekali pakai
Memblokir domain sekali pakai hanya sedikit menaikkan biaya penyalahgunaan: penyalahguna beralih ke Gmail. Sejak itu, penyalahgunaan muncul sebagai banyak akun di balik satu kotak masuk atau satu perangkat. Di sinilah deteksi akun ganda mengambil alih.
Ringkasan
- Pisahkan domain sekali pakai, relay privasi, penyedia gratis, dan domain mati.
- Daftar statis adalah awal yang baik tetapi usang; perbarui atau gunakan API.
- Gunakan pemeriksaan MX untuk domain mati, dan loloskan bila DNS bermasalah.
- Perkirakan penyalahguna akan beralih ke alias Gmail, dan normalkan alamatnya.