PDA

View Full Version : سوال: اعتبارسنجی ایمیل



ingenuous67
دوشنبه 17 اسفند 1394, 08:23 صبح
سلام دوستان
من میخوام یک ایمیل رو توی php اعتبارسنجی کنم که آیا این ایمیل صاحب داره یا نه؟
نمیخوام از لحاظ نحوی چکش کنم که ساختارش به ایمیل شبیه هست یا نه؟
میخوام بدونم این ایمیل توی اکانتی مثل جیمیل یا یاهو ساخته شده و صاحب داره یا نه؟
با تشکر

Unique
دوشنبه 17 اسفند 1394, 18:54 عصر
باید با smtp چکش کنی.

از این کلاس (http://www.phpclasses.org/package/6650-PHP-Check-if-an-e-mail-is-valid-using-SMTP.html) یا زا این تابع (https://github.com/hbattat/verifyEmail) استفاده کن.

ingenuous67
سه شنبه 18 اسفند 1394, 04:59 صبح
با تشکر از پاسخ خوبتون
من هر دو روش رو تست کردم ولی فقط روی اکانت های جیمیل جواب میده. واسه یاهو و سایر ایمیل ها خوب کار نمی کنه مثلا ایمیل info76dsa@sesdfsfdseanco.org با هر دو روش معتبر شناخته میشه.
راستش من یه سایتی رو دیدم که هر ایمیلی بهش میدم رو خوب پاسخ میده: https://tools.verifyemailaddress.io/
مگه این سایت از چه روشی استفاده میکنه؟
(https://tools.verifyemailaddress.io/)

Unique
سه شنبه 18 اسفند 1394, 17:55 عصر
راستش تا حالا نیاز نداشتم ایمیل را ۱۰۰ درصد چک کنم. آخه وقتی verify بگیری از ایمیل کاربر دیگه نیاز به چک کردنش نیست. ممکنه طرف اصلا ایمیل یک نفر دیگه را بده و شما چک کنی و درست باشه و ... اما smtp باید جواب بده ! توصیه میکنم خودت با یک terminal وصل بشو به smtp سرور های یاهو و غیره و ببین در مقابل نام کاربری اشتباه چه پاسخی میدن. این کار شما خیلی هلو برو تو گلو نیست و باید وقت بگذاری و بررسی کنی.

ingenuous67
چهارشنبه 19 اسفند 1394, 04:10 صبح
میشه این جمله رو بیشتر توضیح بدید؟
توصیه میکنم خودت با یک terminal وصل بشو به smtp سرور های یاهو و غیره و ببین در مقابل نام کاربری اشتباه چه پاسخی میدن
تو php چطور باید این کار رو انجام بدم؟

Unique
چهارشنبه 19 اسفند 1394, 09:16 صبح
من با telnet این کار را انجام میدم و برای php اسکریپت telnet (http://www.geckotribe.com/php-telnet/) هست. البته با socket هم میتونی.

راستی یک روش دیگه هم به فکرم رسید ، میشه با curl توی فرم های forgot pass ایمیل های یاهو و hotmail و gmail ببینی اگه ایمیلی که وجود نداره را بزنی در مقابل ایمیل درست چه جواب های متفاوتی میگیری و از اون طریق بررسی کنی.

ingenuous67
چهارشنبه 19 اسفند 1394, 16:09 عصر
این که از فرم های لاگین و فراموشی رمز عبور استفاده بشه روش خوبیه اما مناسب کار من نیست چون من لیست های ایمیل بزرگ دارم و میخوام اونا رو چک کنم که اگه بخوام یکی یکی چک کنم که خیلی وقت میگیره و اگه بخوام ربات بنویسم صددرصد اکانت های مذکور جلوی این کار رو میگیرن.
حالا روش php telnet رو چک کنم باز ببینم چی میشه.
بازم تشکر از پاسخ های خوبتون