تشخیص ایمیل واقعی با php

  • آپدیت شده در تاریخ

تشخیص ایمیل واقعی با php

تایید آدرس ایمیل سخت ولی یک کار مهم در دنیای وب است. یک ایمیل معتبر می توانید برای شما در یک بازایابی, سودآور باشد اما ایمیل نامعتبر هزینه ها و نتایج یک بازاریابی ایمیلی را خراب می کند.

مشابه آن, اعتبارسنجی ایمیل نیز از قابلیت های مهم و کاربردی در اپلیکیشن های تحت وب است.

در وبسایت نت پارادیس هم اوایل کار کاربران برای دانلود فایل ها از ایمیل های یکبارمصرف و حتی ایمیل های غیرواقعی استفاده می کردند که با اضافه کردن قابلیت فیلتر ایمیل ها این مشکل را رفع کردیم و باعث شدیم یک لیست پربازده از ایمیل علاقه مندان داشته باشیم.

 

تشخیص ایمیل واقعی با php به راحتی می توانید با تابع filter_var() به همراه ثابت FILTER_VALIDATE_EMAIL فیلتر شود. این تابع بررسی می کند که آیا فرمت نوشتاری آدرس ایمیل داده شده صحیح است یا خیر.

در آموزش اعتبارسنجی فرم ها در php بصورت مفصل در این مورد روش هایی را ارایه دادیم.این روش به تنهایی برای بررسی اینکه آدرس ایمیل واقعی و قابل دسترس است کافی نیست.

پس در این آموزش PHP , قصد داریم به شما نحوه تشخیص ایمیل واقعی با php را نشان بدیم.

 

در اسکریپت PHP اعتبارسنجی اینکه ایمیل واقعی و تقلبی ما از یک روش اثبات شده استفاده می کنیم که بسیاری از وب سرویس هایی که api پولی را ارایه می دهند معمولا از این روش بهره می برند.

در آموزش تشخیص ایمیل واقعی با php ما با چک کردن رکورد های MX DNS و دامنه, ایمیل را اعتبارسنجی می کنیم. این اسکریپت برای اعتبارسنجی (verify) ایمیل کاربر قبل از ارسال ایمیل و یا قرار دادن در دیتابیس مفید است.

 

کتابخانه تشخیص ایمیل واقعی با php

از کلاس VerifyEmail برای چک کردن اینکه آدرس ایمیل صحیح است و از یک پروتکل SMTP واقعی استفاده می کند یا خیر, بهره بردیم.

شما فقط نیاز است که یک شی از کلاس را ساخته و تابع check() را به کار ببرید

تابع check()

  • بررسی فرمت نوشتاری آدرس ایمیل
  • دریافت رکوردهای MX دامنه آدرس ایمیل
  • اتصال به سرور SMTP با رکوردهای MX
  • بر اساس کد پاسخ دریافتی (response code) :
  • بررسی می کند که آدرس ایمیل ثبت شده صحیح است یا خیر.
  • بررسی می کند دامنه ایمیل داده شده وجود دارد یا خیر.
  • وضعیت ارسال پیام را چک می کند.

برای دانلود کامل کلاس به همراه متدها لطفا از باکس دانلود آخر این پست استفاده کنید.

مثال تشخیص ایمیل واقعی با php

استفاده از کتابخانه VerifyEmail برای اعتبارسنجی ایمیل با php بسیار آسان است.

ابتدا یک شی از کلاس VerifyEmail می سازیم. بعد Timeout , debug و آدرس ایمیل را مشخص می کنیم.

تابع check() را صدا زده و آدرس ایمیلی که قصد داریم واقعی یا تقبلی بودن آن را بررسی کنیم, بهش پاس می دیم.

  • اگر خروجی true بود, آدرس ایمیل داده شده صحیح و واقعی است. همچنین نشان می دهد که دامنه ایمیل وجود دارد و کاربر معتبر است.
  • اگر خروجی false بود, پس آدرس ایمیل نامعتبر و غیر واقعی است.

اگر تابع check() خروجی false را برگشت دهد, می توانید از تابع validate() برای چک کردن اینکه فرمت ایمیل صحیح است یا خیر اما کاربر موردنظر در دامنه اشاره شده وجود ندارد, استفاده کنید.

امیدوارم از آموزش تشخیص ایمیل واقعی با php استفاده مفید را برده باشید.

برای دانلود سورس کد از باکس دانلود زیر استفاده کنید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۰)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. فاطمه پورکمر ۷ آبان ۱۳۹۹

    سلام
    خسته نباشید
    ببخشید من میخواستم ورودی ایمیل رو توی یک فرم چک کنم
    که آیا دامنه ایمیل معتبر هست یا نه
    ولی چون تازه کارم نمیدونم چطور از کدی که گذاشتین باید استفاده کنم
    ممنون میشم راهنماییم کنین
    خیلی ضرروری هست برام

    پاسخ
    1. حسن شفیعی ۷ آبان ۱۳۹۹

      سلام. ممنون.
      از این کد استفاده کنید و اگر هم php بلد نیستید که خب باید بسپارید به فردی که بلده یا اینکه مقدمات php رو یاد بگیرید

      پاسخ
  2. محمد ۱۴ اسفند ۱۳۹۸

    سلام.خسته نباشید.چ کار کنیم تا سرعت تست وجود داشتن ایمیل بیشتر بشه.من از هاست اشتراکی استفاده میکنم.

    پاسخ
    1. حسن شفیعی ۱۵ اسفند ۱۳۹۸

      سلام. ممنون.
      متاسفانه این مورد خارج از دسترسی شما هست و کاملا بستگی به هاست داره که میتونید سرورهای مجازی پرسرعت تهیه کنید.
      موفق باشید.

      پاسخ
  3. محمد ۱۶ مهر ۱۳۹۸

    سلام این اعتبار سنجی ایمیل کامل نیست مثلا من یک ایمیل فرضا matrix_shiri2000@yahoo.cرو وارد کردم و پیغام معتبر بودن ایمیل رئ داد در صورتی که معتبر نیست

    پاسخ
    1. حسن شفیعی ۱۷ مهر ۱۳۹۸

      سلام. در هاست واقعی هم تست کنید احتمالا بدلیل میل سرور میتونه باشه یا اینکه میتونید متد ارسال ایمیل رو تغییر و از phpmailer استفاده کنید
      ارسال ایمیل با php
      موفق باشید.

      پاسخ
  4. محمد ۱۶ مهر ۱۳۹۸

    سلام خسته نباشید.
    لطفا جواب بدید.
    این کدها روی لوکال هاست هم قابل تست هست یا ارور میده؟

    پاسخ
    1. حسن شفیعی ۱۷ مهر ۱۳۹۸

      سلام ممنون.
      در لوکال هاست تست نشده ولی احتمالا جواب بده که باز بستگی به میل سرور داره.
      موفق باشید.

      پاسخ
  5. Alireza ۳۰ اردیبهشت ۱۳۹۸

    سلام خسته نباشید
    آیا میشه در php کد های base64 جستجو کرد و در خروجی نمایش داد؟

    پاسخ
    1. حسن شفیعی ۳۰ اردیبهشت ۱۳۹۸

      سلام. ممنون
      از این regex میتونید استفاده کنید :
      [^-A-Za-z0-9+/=]|=[^=]|={3,}$

      آموزش :
      https://netparadis.com/php-string-functions-1
      https://netparadis.com/regular-expression-regex-php

      موفق باشید.

      پاسخ
دوره های آموزشی