i2332
4 سال پیش توسط i2332 مطرح شد
4 پاسخ

بررسی وجود داشتن ایمیل

دوستان، راهی هست تا قبل از اینکه بخوام ایمیل احراز هویت برای کاربر بفرستم، اول بررسی کنم که اصلا ایمیل وجود داره یا نه؟
چون اگه وجود نداشته باشه ایمیل برگشت داده میشه و فضای ایمیل الکی اشغال میشه.


ثبت پرسش جدید
فرزین
تخصص : طراح و توسعه‌دهنده‌ی وب
@farzin 4 سال پیش آپدیت شد
2

اگه درست منظورتون رو متوجه شده باشم شما دنبال این هستید که ببینید ایمیل ثبت شده واقعا وجود داره یا نه، نه اینکه صرفا رشته‌ی ثبت شده فرمت درست یک ایمیل رو داره یا نه.
برای این کار راه های مختلفی وجود داره با دقت‌های مختلف:
1- با smtp وصل شید بهش و بر اساس جوابی که بر میگردونه میتونید تشخصی بدید واقعیه ایمیل یا نه.
2- چک کردن dns دامین با checkdnsrr

if(checkdnsrr($domain)) {
     // Test Passed
}

3- یه راه دقیق ترش استفاده از این پکیجه : https://github.com/hbattat/verifyEmail
4- راه بازم دقیق تر و خب البته با یه سری محدودیت ها استفاده از این وب سرویسه (رایگان با محدودیت 1000 درخواست در ماه میتونه کافی باشه برای پروژه‌های متوسط و کوچیک): https://emailverification.whoisxmlapi.com/api/


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش آپدیت شد
-1

سلام دوست عزیز
@milad
برای چک کردن وجود یک فیلد در دیتا بیست در لاراول باید از validation های اون استفاده کنی مثلا برای یونیک بودن ایمیل :


   $validator = Validator::make($request->all(),
            [
                'email' => "required|email|unique:users"
            ]
        );

لینک مستندات


فرزین
تخصص : طراح و توسعه‌دهنده‌ی وب
@farzin 4 سال پیش آپدیت شد
2

اگه درست منظورتون رو متوجه شده باشم شما دنبال این هستید که ببینید ایمیل ثبت شده واقعا وجود داره یا نه، نه اینکه صرفا رشته‌ی ثبت شده فرمت درست یک ایمیل رو داره یا نه.
برای این کار راه های مختلفی وجود داره با دقت‌های مختلف:
1- با smtp وصل شید بهش و بر اساس جوابی که بر میگردونه میتونید تشخصی بدید واقعیه ایمیل یا نه.
2- چک کردن dns دامین با checkdnsrr

if(checkdnsrr($domain)) {
     // Test Passed
}

3- یه راه دقیق ترش استفاده از این پکیجه : https://github.com/hbattat/verifyEmail
4- راه بازم دقیق تر و خب البته با یه سری محدودیت ها استفاده از این وب سرویسه (رایگان با محدودیت 1000 درخواست در ماه میتونه کافی باشه برای پروژه‌های متوسط و کوچیک): https://emailverification.whoisxmlapi.com/api/


i2332
@i2332 4 سال پیش مطرح شد
0

@farzin
میشه روش اول رو بیشتر توضیح بدین؟
و اینکه روش دوم نیاز به پکیج داره؟


فرزین
تخصص : طراح و توسعه‌دهنده‌ی وب
@farzin 4 سال پیش مطرح شد
0

برای روش اول می‌تونید از این آموزش استفاده کنید:
https://www.codexworld.com/verify-email-address-check-if-real-exists-domain-php/
روش دوم نسبت به روش ‌های دیگه دقت خیلی کمتری داره (چون دامین رو چک میکنه و ایمیل هایی نامعتبر از ارائه دهنده‌های معتبر رو معتبر اعلام میکنه) و خب طبیعتا ساده ترم هست. نیاز به پکیج خاصی نیست و مثل نمونه کدی که دادم می‌تونید پیش برید فقط کافیه $domain دامنه‌ی اون ایمیل باشه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام