Paket PHP yang mendeteksi alamat email sekali pakai (sementara/lempar/palsu). Ini adalah kerangka kerja-agnostik dan tidak memiliki dependensi, tetapi termasuk dukungan untuk Laravel. Ini memvalidasi alamat email untuk memastikan mereka asli, yang berguna untuk mengelola pendaftaran akun dan menilai jumlah alamat email yang sah dalam sistem Anda.
Alat ini juga membantu menghindari kesalahan komunikasi dan memblokir alamat spam.
Pencarian adalah superfast O(1) karena domain email sekali pakai disimpan secara lokal menggunakan set hash php asli ..
? Daftar domain email sekali pakai secara teratur diperbarui secara otomatis dari sumber eksternal tepercaya.
Catatan
Baca di bawah ini untuk instruksi khusus Laravel.
Membutuhkan paket ini dengan komposer menggunakan perintah berikut:
composer require beeyev/disposable-email-filter-phpPemeriksaan Sederhana Jika alamat emailnya sekali pakai:
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ disposableEmailFilter = new DisposableEmailFilter ();
// Check if email address is disposable
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // trueCATATAN: Domain yang masuk daftar putih memiliki prioritas lebih tinggi daripada domain daftar hitam.
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ disposableEmailFilter = new DisposableEmailFilter ();
// Add multiple custom domains to blacklist
$ disposableEmailFilter -> blacklistedDomains ()-> addMultiple ([ ' mailinator.com ' , ' 10minute-mail.org ' ]);
// Add one domain to whitelist
$ disposableEmailFilter -> whitelistedDomains ()-> add ( ' tempmailer.com ' );
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false (because it's whitelisted now)
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // falseDimungkinkan juga untuk menambahkan domain daftar hitam dan daftar putih menggunakan ketergantungan konstruktor:
use Beeyev DisposableEmailFilter CustomEmailDomainFilter CustomEmailDomainFilter ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ blacklistedDomains = new CustomEmailDomainFilter ([ ' blacklisted1.com ' , ' blacklisted2.com ' , ' blacklisted3.com ' ]);
$ whitelistedDomains = new CustomEmailDomainFilter ([ ' abc2.com ' , ' whitelisted1.com ' ]);
$ disposableEmailFilter = new DisposableEmailFilter ( $ blacklistedDomains , $ whitelistedDomains );
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false - whitelistedCatatan: Anda dapat mengembangkan logika filtrasi Anda sendiri dengan membuat kelas khusus yang mengimplementasikan
CustomEmailDomainFilterInterface
Jika Anda mencoba melewati string atau string kosong dengan format email yang tidak valid, pengecualian akan dilemparkan.
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
use Beeyev DisposableEmailFilter Exceptions InvalidEmailAddressException ;
$ disposableEmailFilter = new DisposableEmailFilter ();
try {
$ disposableEmailFilter -> isDisposableEmailAddress ( ' john:gmail.com ' ); // Exception will be thrown because of invalid email format
} catch ( InvalidEmailAddressException $ e ) {
echo $ e -> getMessage ();
} Jika Anda mengharapkan alamat email itu mungkin tidak valid dan tidak ingin membungkus kode ke dalam mencoba/menangkap,
Anda dapat menggunakan metode isDisposableEmailAddressSafe untuk memeriksa apakah alamat email diformat dengan benar sebelum memeriksa apakah itu sekali pakai:
$ disposableEmailFilter = new DisposableEmailFilter ();
$ emailAddress = ' john:gmail.com ' ;
if ( $ disposableEmailFilter -> isEmailAddressValid ( $ emailAddress )) {
$ disposableEmailFilter -> isDisposableEmailAddress ( $ emailAddress );
}Paket ini termasuk penyedia layanan dan aturan validasi formulir untuk Laravel.
composer require beeyev/disposable-email-filter-php Paket akan secara otomatis terdaftar menggunakan Laravel Auto-Discovery Mechanism.
Tetapi jika Anda perlu melakukannya secara manual, Anda dapat menambahkan baris berikut ke array providers di file config/app.php :
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class, Gunakan aturan validasi not_disposable_email atau objek new NotDisposableEmail() , untuk memeriksa bahwa bidang tertentu tidak berisi alamat email sekali pakai.
Catatan
❗ Tempatkan setelah validator email untuk memastikan bahwa hanya email yang valid yang diproses.
Contoh:
// Using validation rule name:
' email_field ' => ' required|email|not_disposable_email ' ,
// Or using a validation rule object:
' email_field ' => [ ' email ' , new NotDisposableEmail ()], Anda dapat menggunakan fasad DisposableEmail untuk mengakses contoh DisposableEmailFilter :
use Beeyev DisposableEmailFilter Adapters Laravel Facades DisposableEmail ;
DisposableEmail:: isEmailAddressValid ( ' [email protected] ' );Secara opsional, Anda dapat mempublikasikan file konfigurasi dan terjemahan untuk menyesuaikan perilaku paket:
php artisan vendor:publish --tag=disposable-email-filter Perintah ini akan membuat file konfigurasi disposable-email-filter.php di direktori config dan file terjemahan di direktori lang/vendor/disposable-email-filter .
Karena daftar domain email sekali pakai diperbarui secara berkala, penting untuk memperbarui paket.
Versi PATCH baru dari paket ini dirilis setiap kali daftar diperbarui.
Pembaruan ini aman dan tidak memecahkan, memungkinkan Anda untuk memperbarui paket melalui perintah komposer ini:
composer update beeyev/disposable-email-filter-phpAnda dapat menjalankan perintah ini setiap kali dalam pipa CI/CD sebelum proyek digunakan.
Jangan ragu untuk berkontribusi pada proyek ini jika Anda ingin menambahkan fitur baru, meningkatkan yang sudah ada, atau memperbaiki bug.
Untuk menambahkan domain sekali pakai baru, Anda dapat memperbarui file blacklist.txt dan membuat permintaan tarik.
Atau, Anda dapat membuka masalah dengan domain yang ingin Anda tambahkan ke daftar hitam atau daftar putih.
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domainsDaftar hitam lokal dan daftar putih disimpan di file BlackList.txt dan WhiteList.txt.
Laporan bug dan permintaan fitur dapat dikirimkan pada pelacak masalah GitHub.
Lisensi MIT (MIT). Silakan lihat file lisensi untuk informasi lebih lanjut.
Jika Anda menyukai proyek ini, harap pertimbangkan untuk memberi saya a