حزمة Laravel قوية مصممة للتحقق من صحة عناوين البريد الإلكتروني بسهولة ضد موفري البريد العشوائي المختلفين باستخدام مجموعة متنوعة من برامج التشغيل. متكاملة بسلاسة مع نظام التحقق من Laravel، توفر هذه الحزمة دعمًا شاملاً للتحقق من صحة مدخلات البريد الإلكتروني في النماذج وواجهات برمجة تطبيقات RESTful
خدمة | الأوصاف | سائق | التوثيق | المدعومة |
---|---|---|---|---|
محلي | قائمة نصية محلية لمجالات البريد الإلكتروني العشوائي. | محلي | اقرأ المزيد | ✅ نعم |
بعيد | باستخدام وظائف PHP المضمنة getmxrr() و checkdnsrr() . fsockopen() للتحقق من صحة مجال البريد الإلكتروني | بعيد | اقرأ المزيد | ✅ نعم |
AbstractApi | استخدام مجموعة واجهة برمجة التطبيقات الخاصة بـ Abstract للتحقق من صحة مجالات البريد الإلكتروني | مجردة | اقرأ المزيد | ✅ نعم |
التحقق السريع من البريد الإلكتروني | خدمة موثوقة ودقيقة وبأسعار معقولة ومتقدمة للتحقق من البريد الإلكتروني | التحقق السريع من البريد الإلكتروني | اقرأ المزيد | ✅ نعم |
التحقق | خدمة التحقق من صحة البريد الإلكتروني على شبكة الإنترنت والتي تسمح بتحميل قوائم عناوين البريد الإلكتروني والتحقق من صحتها بسهولة | verifalia | اقرأ المزيد | ✅ نعم |
سيندغريد | موفر SMTP قائم على السحابة يسمح لك بالتحقق من صحة عناوين البريد الإلكتروني قبل الإرسال. | sendgrid | اقرأ المزيد | ✅ نعم |
ملاحظة: سيتم إضافة المزيد من الخدمات قريبا. (يمكنك أيضًا المساهمة في هذا المشروع عن طريق إضافة المزيد من الخدمات - ZeroBounce، Mailboxlayer، EmailListVerify، Emailable، إلخ)
يمكنك تثبيت الحزمة عبر الملحن:
composer require martian/spammailchecker
Martian SpamMailChecker SpamMailCheckerServiceProvider::class,
config/app.php
وأضف السطر التالي إلى مصفوفة aliases
: ' SpamMailChecker ' => Martian SpamMailChecker Facades SpamMailChecker::class,
انشر ملف التكوين باستخدام الأمر التالي:
php artisan vendor:publish --provider= " MartianSpamMailCheckerProvidersSpamMailCheckerServiceProvider "
يوجد ملف التكوين في config/laravel-spammail-checker.php
. يمكنك تكوين الحزمة لاستخدام أي من برامج التشغيل المدعومة. برنامج التشغيل الافتراضي هو برنامج local
يستخدم قائمة نصية محلية بمجالات البريد الإلكتروني العشوائي.
لاستخدام local
كبرنامج التشغيل الذي تختاره، تحتاج إلى تعيين المفتاح default
في ملف التكوين config/laravel-spammail-checker.php
إلى local
:
' default ' => ' local ' ,
أو يمكنك ضبط متغير البيئة SPAM_MAIL_CHECKER_DEFAULT_DRIVER
على local
في ملف .env
الخاص بك.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = local
يستخدم برنامج التشغيل المحلي قائمة نصية محلية بمجالات البريد الإلكتروني العشوائي. الملف موجود في resources/config/emails.txt
. يمكنك تضمين المزيد من المجالات عن طريق إضافتها إلى مصفوفة blacklist
أو استبعاد المجالات عن طريق إضافتها إلى مصفوفة 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 ' ,
],
]
]
امسح التكوين وذاكرة التخزين المؤقت باستخدام الأوامر التالية بعد إجراء التغييرات على ملف التكوين:
php artisan optimize:clear
ملاحظة: برنامج التشغيل المحلي حساس لحالة الأحرف. لذلك، لا داعي للقلق بشأن حالة مجال البريد الإلكتروني.
لاستخدام remote
كبرنامج التشغيل الذي تختاره، تحتاج إلى تعيين المفتاح default
في ملف التكوين config/laravel-spammail-checker.php
إلى remote
:
' driver ' => ' remote ' ,
أو يمكنك ضبط متغير البيئة SPAM_MAIL_CHECKER_DEFAULT_DRIVER
على remote
في ملف .env
الخاص بك.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = remote
يستخدم برنامج التشغيل البعيد وظائف PHP المضمنة getmxrr()
و checkdnsrr()
. fsockopen()
للتحقق من صحة مجال البريد الإلكتروني. يمكنك تكوين برنامج التشغيل البعيد لتحديد ما إذا كنت تريد التحقق من MX - getmxrr()
و DNS - checkdnsrr()
و SMTP - fsockopen
أو التحقق من صحة مجال البريد الإلكتروني. يمكنك أيضًا تكوين قيمة المهلة بالثواني.
' 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
]
]
من أجل استخدام abstractapi
كمحرك من اختيارك، تحتاج إلى تعيين المفتاح default
في ملف التكوين config/laravel-spammail-checker.php
إلى abstractapi
:
'default' => 'abstractapi',
أو يمكنك ضبط متغير البيئة SPAM_MAIL_CHECKER_DEFAULT_DRIVER
على abstractapi
في ملف .env
الخاص بك.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = abstractapi
أضف مفتاح ABSTRACTAPI_API_KEY
AbstractAPI الذي حصلت عليه من هنا إلى ملف env
الخاص بك.
ABSTRACTAPI_API_KEY=abstractapi_api_key
يمكنك تكوين score
لتحديد الحد الأدنى لعنوان بريد إلكتروني صالح. تتراوح النتيجة من 0 إلى 1. وكلما ارتفعت النتيجة، زاد احتمال صلاحية عنوان البريد الإلكتروني. يمكنك أيضًا قبول عناوين البريد الإلكتروني التي يمكن التخلص منها عن طريق تعيين accept_disposable
على 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
]
]
من أجل استخدام quickemailverification
باعتباره برنامج التشغيل الذي تختاره، تحتاج إلى تعيين المفتاح default
في ملف التكوين config/laravel-spammail-checker.php
إلى quickemailverification
:
'default' => 'quickemailverification',
أو يمكنك ضبط متغير البيئة SPAM_MAIL_CHECKER_DEFAULT_DRIVER
على quickemailverification
في ملف .env
الخاص بك.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = quickemailverification
قم بإضافة مفتاح QUICKEMAILVERIFICATION_API_KEY
QuickEmailVerification الذي حصلت عليه من هنا إلى ملف env
الخاص بك.
QUICKEMAILVERIFICATION_API_KEY = quickemailverification_api_key
يمكنك تكوين برنامج التشغيل لقبول عناوين البريد الإلكتروني التي يمكن التخلص منها عن طريق تعيين accept_disposable
على true
.
' drivers ' => [
...
' quickemailverification ' => [
...
' accept_disposable ' => true, // When set to true, it will accept disposable email addresses
]
]
من أجل استخدام verifalia
كبرنامج التشغيل الذي تختاره، تحتاج إلى تعيين المفتاح default
في ملف التكوين config/laravel-spammail-checker.php
إلى verifalia
:
'default' => 'verifalia',
أو يمكنك ضبط متغير البيئة SPAM_MAIL_CHECKER_DEFAULT_DRIVER
على verifalia
في ملف .env
الخاص بك.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = verifalia
من أجل استخدام خدمة التحقق، تحتاج إلى تعيين بيانات اعتماد تسجيل الدخول في ملف env
الخاص بك. يمكنك الحصول على بيانات الاعتماد الخاصة بك بعد إنشاء مستخدم هنا.
VERIFALIA_USERNAME = verifalia_username
VERIFALIA_PASSWORD = verifalia_password
يمكنك تكوين برنامج التشغيل لقبول عناوين البريد الإلكتروني التي يمكن التخلص منها عن طريق تعيين accept_disposable
على true
.
' drivers ' => [
...
' verifalia ' => [
...
' accept_disposable ' => true, // When set to true, it will accept disposable email addresses
]
]
ملاحظة: يحتاج المستخدم الموجود في verifalia إلى الحصول على إذن لاستخدام واجهة برمجة التطبيقات. يمكنك القيام بذلك عن طريق الانتقال إلى هنا والنقر على مستخدم التعديل الذي تريد منح الإذن له. ثم انقر فوق علامة التبويب
Permissions
وتحقق من الأذونات المناسبة في قسمEmail validations
.
من أجل استخدام sendgrid
كبرنامج التشغيل الذي تختاره، تحتاج إلى تعيين المفتاح default
في ملف التكوين config/laravel-spammail-checker.php
إلى sendgrid
:
'default' => 'sendgrid',
أو يمكنك ضبط متغير البيئة SPAM_MAIL_CHECKER_DEFAULT_DRIVER
على sendgrid
في ملف .env
الخاص بك.
SPAM_MAIL_CHECKER_DEFAULT_DRIVER = sendgrid
أضف مفتاح SENDGRID_API_KEY
Sendgrid الذي حصلت عليه من هنا إلى ملف env
الخاص بك.
SENDGRID_API_KEY = sendgrid_api_key
يمكنك تكوين برنامج التشغيل لقبول عناوين البريد الإلكتروني التي يمكن التخلص منها عن طريق تعيين accept_disposable
على true
. يمكن أيضًا تكوين النتيجة لتحديد الحد الأدنى لعنوان بريد إلكتروني صالح. تتراوح النتيجة من 0 إلى 1. وكلما ارتفعت النتيجة، زاد احتمال صلاحية عنوان البريد الإلكتروني. يمكن أيضًا تكوين المصدر لتحديد مصدر عنوان البريد الإلكتروني. يمكن أن يكون المصدر signup
أو 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
]
]
من أجل استخدام الحزمة، تحتاج إلى استدعاء قاعدة التحقق من صحة spammail
في قواعد التحقق الخاصة بك. يمكنك أيضًا تغيير اسم القاعدة إلى ما تريد في ملف التكوين config/laravel-spammail-checker.php
ضمن مفتاح rule
، وكذلك رسالة الخطأ الموجودة أسفل مفتاح 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 ' ,
]);
}
أو استخدم spammail
في ملف الطلبات الخاص بك مثل هذا:
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules ()
{
return [
' email ' => ' required|spammail|max:255 ' ,
];
}
يمكن إضافة رسالة خطأ مخصصة إلى قاعدة التحقق من spammail
.
' email.spammail ' => ' This email address is invalid. ' , // Custom error message
أو يمكنك تغيير رسالة الخطأ في ملف التكوين config/laravel-spammail-checker.php
ضمن مفتاح error_message
.
' error_message ' => ' This email address is invalid. ' , // Custom error message
يمكنك أيضًا استخدام الفئات مباشرةً دون استخدام قاعدة التحقق spammail
. يعد هذا مفيدًا عندما تريد استخدام الحزمة في قاعدة التحقق المخصصة الخاصة بك أو الفئة المخصصة الخاصة بك.
use Martian SpamMailChecker SpamMailChecker ;
public function checkEmail ( $ email )
{
$ spamMailChecker = new SpamMailChecker ();
$ spamMailChecker -> validate ( $ email );
}
يمكنك أيضًا استخدام فئة SpamMailChecker
مباشرة دون إنشاء مثيل لها.
use Martian SpamMailChecker Facades SpamMailChecker ;
public function checkEmail ( $ email )
{
SpamMailChecker:: validate ( $ email );
}
يمكنك أيضًا استخدام كل برنامج تشغيل على حدة دون استخدام قاعدة التحقق من spammail
. يكون هذا مفيدًا عند الحاجة إلى برنامج تشغيل معين في موقف معين.
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 test
الرجاء مراجعة سجل التغيير لمزيد من المعلومات عما تغير مؤخرًا.
لا تتردد في تفرع هذا المشروع وتقديم طلب سحب. لمزيد من المعلومات، تحقق من المساهمة للحصول على التفاصيل.
إذا اكتشفت أي مشكلات متعلقة بالأمان، فيرجى إرسال بريد إلكتروني إلى [email protected] بدلاً من استخدام أداة تعقب المشكلات.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.