Paket Laravel canggih yang dirancang untuk memvalidasi alamat email dengan mudah terhadap berbagai penyedia email spam menggunakan beragam driver. Terintegrasi secara mulus dengan sistem validasi Laravel, paket ini menawarkan dukungan komprehensif untuk memvalidasi input email dalam formulir dan RESTful API
| Melayani | Deskripsi | Pengemudi | Dokumentasi | Didukung |
|---|---|---|---|---|
| Lokal | Daftar teks lokal domain email spam. | lokal | Baca selengkapnya | ✅ Ya |
| Terpencil | Menggunakan fungsi bawaan PHP getmxrr() , checkdnsrr() . fsockopen() untuk memvalidasi domain email | terpencil | Baca selengkapnya | ✅ Ya |
| AbstrakApi | Menggunakan rangkaian API Abstrak untuk memvalidasi domain email | abstractapi | Baca selengkapnya | ✅ Ya |
| Verifikasi Email Cepat | Layanan verifikasi email yang andal, akurat, terjangkau, dan canggih | verifikasi email cepat | Baca selengkapnya | ✅ Ya |
| Verifalia | Layanan validasi email berbasis web yang memungkinkan untuk mengunggah dan memvalidasi daftar alamat email dengan mudah | verifikasi | Baca selengkapnya | ✅ Ya |
| KirimGrid | Penyedia SMTP berbasis cloud yang memungkinkan Anda memvalidasi alamat email sebelum mengirim. | sendgrid | Baca selengkapnya | ✅ Ya |
CATATAN: Layanan lainnya akan segera ditambahkan. (Anda juga dapat berkontribusi pada proyek ini dengan menambahkan lebih banyak layanan - ZeroBounce, Mailboxlayer, EmailListVerify, Emailable, dll)
Anda dapat menginstal paket melalui composer:
composer require martian/spammailchecker Martian SpamMailChecker SpamMailCheckerServiceProvider::class,config/app.php dan tambahkan baris berikut ke array aliases : ' SpamMailChecker ' => Martian SpamMailChecker Facades SpamMailChecker::class,Publikasikan file konfigurasi menggunakan perintah berikut:
php artisan vendor:publish --provider= " MartianSpamMailCheckerProvidersSpamMailCheckerServiceProvider " File konfigurasi terletak di config/laravel-spammail-checker.php . Anda dapat mengkonfigurasi paket untuk menggunakan driver apa pun yang didukung. Driver default adalah local yang menggunakan daftar teks lokal domain email spam.
Untuk menggunakan local sebagai driver pilihan Anda, Anda perlu mengatur kunci default di file konfigurasi config/laravel-spammail-checker.php ke local :
' default ' => ' local ' , Atau Anda dapat mengatur variabel lingkungan SPAM_MAIL_CHECKER_DEFAULT_DRIVER ke local di file .env Anda.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = local Pengandar lokal menggunakan daftar teks lokal domain email spam. File terletak di resources/config/emails.txt . Anda dapat memasukkan lebih banyak domain dengan menambahkannya ke susunan blacklist atau mengecualikan domain dengan menambahkannya ke susunan whitelist .
' drivers ' => [
' local ' => [
...
' whitelist ' => [
// Add domains you want the local driver to ignore here
' gmail.com ' ,
' yahoo.com ' ,
],
' blacklist ' => [
// Add domains you want the local driver to validate against here
' mailinator.com ' ,
' spam.com ' ,
],
]
]Hapus konfigurasi dan cache menggunakan perintah berikut setelah melakukan perubahan pada file konfigurasi:
php artisan optimize:clearCATATAN: Driver lokal tidak peka huruf besar-kecil. Jadi, Anda tidak perlu khawatir dengan kasus domain email.
Untuk menggunakan remote sebagai driver pilihan Anda, Anda perlu mengatur kunci default di file konfigurasi config/laravel-spammail-checker.php ke remote :
' driver ' => ' remote ' , Atau Anda dapat mengatur variabel lingkungan SPAM_MAIL_CHECKER_DEFAULT_DRIVER ke remote di file .env Anda.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = remote Driver jarak jauh menggunakan fungsi bawaan PHP getmxrr() , checkdnsrr() . fsockopen() untuk memvalidasi domain email. Anda dapat mengonfigurasi driver jarak jauh untuk memeriksa MX - getmxrr() , DNS - checkdnsrr() , dan SMTP - fsockopen atau memvalidasi domain email. Anda juga dapat mengonfigurasi nilai batas waktu dalam hitungan detik.
' drivers ' => [
...
' remote ' => [
...
' check_dns ' => true, // When set to true, it will check for DNS
' check_smtp ' => false , // When set to true, it will check for SMTP
' check_mx ' => false , // When set to true, it will check for MX record
' timeout ' => 60 * 5 , // 5 minutes
]
] Untuk menggunakan abstractapi sebagai driver pilihan Anda, Anda perlu mengatur kunci default di file konfigurasi config/laravel-spammail-checker.php menjadi abstractapi :
'default' => 'abstractapi', Atau Anda dapat mengatur variabel lingkungan SPAM_MAIL_CHECKER_DEFAULT_DRIVER ke abstractapi di file .env Anda.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = abstractapi Tambahkan kunci ABSTRACTAPI_API_KEY abstractAPI yang Anda dapatkan dari sini ke file env Anda.
ABSTRACTAPI_API_KEY=abstractapi_api_key
Anda dapat mengonfigurasi score untuk menentukan ambang batas alamat email yang valid. Skornya berkisar antara 0 hingga 1. Semakin tinggi skornya, semakin besar kemungkinan alamat email tersebut valid. Anda juga dapat menerima alamat email sekali pakai dengan accept_disposable ke true .
' drivers ' => [
...
' abstractapi ' => [
...
' score ' => 0.5 , // 0.5 is the default score
' accept_disposable_email ' => true // When set to true, it will accept disposable email addresses
]
] Untuk menggunakan quickemailverification sebagai driver pilihan Anda, Anda perlu mengatur kunci default di file konfigurasi config/laravel-spammail-checker.php menjadi quickemailverification :
'default' => 'quickemailverification', Atau Anda dapat mengatur variabel lingkungan SPAM_MAIL_CHECKER_DEFAULT_DRIVER ke quickemailverification di file .env Anda.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = quickemailverification Tambahkan kunci QUICKEMAILVERIFICATION_API_KEY QuickEmailVerification yang Anda dapatkan dari sini ke file env Anda.
QUICKEMAILVERIFICATION_API_KEY = quickemailverification_api_key Anda dapat mengonfigurasi driver untuk menerima alamat email sekali pakai dengan accept_disposable ke true .
' drivers ' => [
...
' quickemailverification ' => [
...
' accept_disposable ' => true, // When set to true, it will accept disposable email addresses
]
] Untuk menggunakan verifalia sebagai driver pilihan Anda, Anda perlu mengatur kunci default di file konfigurasi config/laravel-spammail-checker.php menjadi verifalia :
'default' => 'verifalia', Atau Anda dapat mengatur variabel lingkungan SPAM_MAIL_CHECKER_DEFAULT_DRIVER ke verifalia di file .env Anda.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = verifalia Untuk menggunakan layanan verifalia, Anda perlu mengatur kredensial login di file env Anda. Anda bisa mendapatkan kredensial Anda setelah Anda membuat pengguna di sini.
VERIFALIA_USERNAME = verifalia_username
VERIFALIA_PASSWORD = verifalia_password Anda dapat mengonfigurasi driver untuk menerima alamat email sekali pakai dengan accept_disposable ke true .
' drivers ' => [
...
' verifalia ' => [
...
' accept_disposable ' => true, // When set to true, it will accept disposable email addresses
]
]CATATAN: Pengguna di verifalia harus diberikan izin untuk menggunakan API. Anda dapat melakukan ini dengan membuka di sini dan mengklik pengguna edit yang ingin Anda beri izin. Kemudian klik pada tab
Permissionsdan periksa izin yang sesuai di bagianEmail validations.
Untuk menggunakan sendgrid sebagai driver pilihan Anda, Anda perlu mengatur kunci default di file konfigurasi config/laravel-spammail-checker.php menjadi sendgrid :
'default' => 'sendgrid', Atau Anda dapat mengatur variabel lingkungan SPAM_MAIL_CHECKER_DEFAULT_DRIVER ke sendgrid di file .env Anda.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = sendgrid Tambahkan kunci Sendgrid SENDGRID_API_KEY yang Anda dapatkan dari sini ke file env Anda.
SENDGRID_API_KEY = sendgrid_api_key Anda dapat mengonfigurasi driver untuk menerima alamat email sekali pakai dengan accept_disposable ke true . Skor juga dapat dikonfigurasi untuk menentukan ambang batas alamat email yang valid. Skornya berkisar antara 0 hingga 1. Semakin tinggi skornya, semakin besar kemungkinan alamat email tersebut valid. Sumber juga dapat dikonfigurasi untuk menentukan sumber alamat email. Sumbernya bisa berupa signup atau contact .
' drivers ' => [
...
' sendgrid ' => [
...
' score ' => 0.5 , // 0.5 is the default score
' accept_disposable ' => true , // When set to true, it will accept disposable email addresses
' source ' => ' signup ' // The source is signup by default
]
] Untuk menggunakan paket ini, Anda perlu memanggil aturan validasi spammail di aturan validasi Anda. Anda juga dapat mengubah nama aturan menjadi apa pun yang Anda inginkan di file konfigurasi config/laravel-spammail-checker.php di bawah kunci rule , begitu pula pesan kesalahan di bawah kunci error_message .
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return IlluminateContractsValidationValidator
*/
protected function validator ( array $ data )
{
return Validator:: make ( $ data , [
' email ' => ' required|spammail|max:255 ' ,
]);
} Atau manfaatkan spammail di file Permintaan Anda seperti ini:
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules ()
{
return [
' email ' => ' required|spammail|max:255 ' ,
];
} Pesan kesalahan khusus dapat ditambahkan ke aturan validasi spammail .
' email.spammail ' => ' This email address is invalid. ' , // Custom error message Atau Anda dapat mengubah pesan kesalahan di file konfigurasi config/laravel-spammail-checker.php di bawah kunci error_message .
' error_message ' => ' This email address is invalid. ' , // Custom error message Anda juga dapat menggunakan kelas secara langsung tanpa menggunakan aturan validasi spammail . Ini berguna ketika Anda ingin menggunakan paket dalam aturan validasi khusus Anda atau kelas khusus Anda sendiri.
use Martian SpamMailChecker SpamMailChecker ;
public function checkEmail ( $ email )
{
$ spamMailChecker = new SpamMailChecker ();
$ spamMailChecker -> validate ( $ email );
} Anda juga dapat menggunakan kelas SpamMailChecker secara langsung tanpa membuat instance-nya.
use Martian SpamMailChecker Facades SpamMailChecker ;
public function checkEmail ( $ email )
{
SpamMailChecker:: validate ( $ email );
} Anda juga dapat menggunakan setiap driver satu per satu tanpa menggunakan aturan validasi spammail . Hal ini berguna ketika driver tertentu dibutuhkan dalam situasi tertentu.
use Martian SpamMailChecker Drivers VerifaliaDriver ;
public function checkEmail ( $ email )
{
$ verifaliaDriver = new VerifaliaDriver ();
$ verifaliaDriver -> validate ( $ email );
} use Martian SpamMailChecker Drivers SendGridDriver ;
public function checkEmail ( $ email )
{
$ sendGridDriver = new SendGridDriver ();
$ sendGridDriver -> validate ( $ email );
} use Martian SpamMailChecker Drivers AbstractApiDriver ;
public function checkEmail ( $ email )
{
$ abstractApiDriver = new AbstractApiDriver ();
$ abstractApiDriver -> validate ( $ email );
} use Martian SpamMailChecker Drivers RemoteDriver ;
public function checkEmail ( $ email )
{
$ remoteDriver = new RemoteDriver ();
$ remoteDriver -> validate ( $ email );
} use Martian SpamMailChecker Drivers LocalDriver ;
public function checkEmail ( $ email )
{
$ localDriver = new LocalDriver ();
$ localDriver -> validate ( $ email );
} use Martian SpamMailChecker Drivers QuickEmailVerificationDriver ;
public function checkEmail ( $ email )
{
$ quickEmailVerificationDriver = new QuickEmailVerificationDriver ();
$ quickEmailVerificationDriver -> validate ( $ email );
}composer testSilakan lihat CHANGELOG untuk informasi lebih lanjut tentang apa yang berubah baru-baru ini.
Silakan melakukan fork proyek ini dan membuat permintaan tarik. Untuk informasi lebih lanjut, periksa KONTRIBUSI untuk detailnya.
Jika Anda menemukan masalah terkait keamanan, silakan kirim email ke [email protected] daripada menggunakan pelacak masalah.
Lisensi MIT (MIT). Silakan lihat File Lisensi untuk informasi lebih lanjut.