حزمة PHP التي تكتشف عناوين بريد إلكتروني يمكن التخلص منها (مؤقت/مزيف/مزيف). إنه إطار عمل غير محدد وليس له تبعيات ، ولكنه يشمل دعم لارافيل. إنه يتحقق من صحة عناوين البريد الإلكتروني للتأكد من أنها حقيقية ، وهو أمر مفيد لإدارة تسجيلات الحساب وتقييم عدد عناوين البريد الإلكتروني المشروعة في نظامك.
تساعد هذه الأداة أيضًا على تجنب أخطاء الاتصالات وحظر عناوين البريد العشوائي.
البحث هو Superfast O(1) لأنه يتم تخزين مجالات البريد الإلكتروني المتاح محليًا باستخدام مجموعة تجزئة PHP أصلية ..
؟ يتم تحديث قائمة مجالات البريد الإلكتروني التي يمكن التخلص منها تلقائيًا من المصادر الخارجية الموثوق بها.
ملحوظة
اقرأ أدناه للحصول على تعليمات محددة لارافيل.
طلب هذه الحزمة مع الملحن باستخدام الأمر التالي:
composer require beeyev/disposable-email-filter-phpتحقق بسيط مما إذا كان عنوان البريد الإلكتروني يمكن التخلص منه:
<?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] ' ); // trueملاحظة: النطاقات ذات القائمة البيضاء لها أولوية أعلى من المجالات المدرجة في القائمة السوداء.
<?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] ' ); // falseمن الممكن أيضًا إضافة نطاقات مدرجة في القائمة السوداء باستخدام تبعية المنشئ:
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 - whitelistedملاحظة: يمكنك تطوير منطق الترشيح الخاص بك عن طريق إنشاء فئة مخصصة تنفذ
CustomEmailDomainFilterInterface
إذا حاولت تمرير سلسلة أو سلسلة فارغة بتنسيق بريد إلكتروني غير صالح ، فسيتم طرح استثناء.
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 ();
} إذا كنت تتوقع أن يكون عنوان البريد الإلكتروني غير صالح ولا يريد لف الرمز في المحاولة/التقاط ،
يمكنك استخدام طريقة isDisposableEmailAddressSafe للتحقق مما إذا كان عنوان البريد الإلكتروني قد تم تنسيقه بشكل صحيح قبل التحقق مما إذا كان يمكن التخلص منه:
$ disposableEmailFilter = new DisposableEmailFilter ();
$ emailAddress = ' john:gmail.com ' ;
if ( $ disposableEmailFilter -> isEmailAddressValid ( $ emailAddress )) {
$ disposableEmailFilter -> isDisposableEmailAddress ( $ emailAddress );
}تتضمن هذه الحزمة مزود خدمة وقاعدة التحقق من صحة النموذج لـ Laravel.
composer require beeyev/disposable-email-filter-php سيتم تسجيل الحزمة تلقائيًا باستخدام آلية اكتشاف لارافيل.
ولكن إذا كنت بحاجة إلى القيام بذلك يدويًا ، فيمكنك إضافة السطر التالي إلى مجموعة providers في ملف config/app.php :
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class, استخدم قاعدة التحقق من الصحة not_disposable_email أو كائن new NotDisposableEmail() ، للتحقق من أن الحقل المحدد لا يحتوي على عنوان بريد إلكتروني يمكن التخلص منه.
ملحوظة
❗ ضعه بعد مصلحة البريد الإلكتروني للتأكد من معالجة رسائل البريد الإلكتروني الصحيحة فقط.
مثال:
// Using validation rule name:
' email_field ' => ' required|email|not_disposable_email ' ,
// Or using a validation rule object:
' email_field ' => [ ' email ' , new NotDisposableEmail ()], يمكنك استخدام واجهة DisposableEmail للوصول إلى مثيل DisposableEmailFilter :
use Beeyev DisposableEmailFilter Adapters Laravel Facades DisposableEmail ;
DisposableEmail:: isEmailAddressValid ( ' [email protected] ' );اختياريا ، يمكنك نشر ملف التكوين والترجمات لتخصيص سلوك الحزمة:
php artisan vendor:publish --tag=disposable-email-filter سيقوم هذا الأمر بإنشاء ملف التكوين disposable-email-filter.php config lang/vendor/disposable-email-filter
نظرًا لأن قائمة مجالات البريد الإلكتروني التي يمكن التخلص منها يتم تحديثها بانتظام ، من المهم الحفاظ على حزمة محدثة.
يتم إصدار إصدار PATCH جديد من الحزمة كلما تم تحديث القائمة.
هذه التحديثات آمنة وغير متجانسة ، مما يتيح لك تحديث الحزمة عبر أمر الملحن هذا:
composer update beeyev/disposable-email-filter-phpيمكنك تشغيل هذا الأمر في كل مرة في خطوط أنابيب CI/CD قبل نشر المشروع.
لا تتردد في المساهمة في هذا المشروع إذا كنت ترغب في إضافة ميزات جديدة ، أو تحسين الميزات الموجودة ، أو إصلاح الأخطاء.
لإضافة مجالات جديدة يمكن التخلص منها ، يمكنك تحديث ملف blacklist.txt وإنشاء طلب سحب.
بدلاً من ذلك ، يمكنك فتح مشكلة مع المجالات التي تريد إضافتها إلى القائمة السوداء أو القائمة البيضاء.
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domainsيتم تخزين القائمة السوداء المحلية وقائمة البيت في ملفات Blacklist.txt و Whitelist.txt.
يمكن تقديم تقارير الأخطاء وطلبات الميزات على متتبع قضية Github.
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.
إذا كنت تحب هذا المشروع ، فيرجى التفكير في إعطائي