حزمة 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). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.