PDA

View Full Version : تایید پست الکترونیکی - Email Validation



greenway
پنج شنبه 05 بهمن 1385, 22:12 عصر
روش های مختلفی برای تایید یک آدرس الکترونیکی وارد شده در فرم های ورود اطلاعات وجود دارد . برخی از این روش ها عبارتند از :

1- Syntax Validation
در این روش صرفا" از نظر املایی وجود علامت @ و نقطه در آدرس وارد شده توسط کاربر آزمایش می شود.
2- Activation Email
در این روش پیامی برای کاربر به آدرس الکترونیکی وارد شده ارسال می شود که از کاربر درخواست می شود پس از خواندن پیام برای فعال ساختن کد کاربری یا تایید صحت اطلاعات وارد شده بر روی یک لینک موجود در متن پیام کلیک نموده و یا عدد یا کدی را به عنوان اطلاعات ورودی در فرم ورود به سیستم وارد کند.
3- MX Record
در این روش وجود دامنه تست شده و توسط Whois آدرس MailServer پست الکترونیکی وارد شده بدست می آید. مراحل اولیه SMTP Login توسط پورت پیش فرض SMTP انجام میشود و در صورت وجود Account و OK بودن نتیجه عملیات Login متوقف شده و آدرس ورودی تایید می شود.

حتما با خواندن این مطلب به طور پیش فرض مشکلات و مزایای هر یک از روشها را در ذهن خود مرور کرده اید. با توجه به اینکه تقریبا برای همه سیستم های تحت وب به Login نیازمندیم ، این تاپیک را به دوهدف ایجاد کرده ام .
1- در صورتی که روش دیگری برای تایید آدرس پست الکترونیکی می شناسید ( منظور فقط روش است و پیاده سازی آن بدون وابستگی به زبان مورد نظر است ) لطفا اطلاعات خود را در این زمینه به اشتراک بگذارید.
2- از نظر آماری مایلم بدانم که بیشتر از کدام روش بین برنامه نویسان داخلی استفاده می شود.
3- برای توسعه یکی از سایت های فروشگاه بین دو راهی تایید آدرس و یا عدم تایید آن قرار گرفته ام و خوشحال می شوم که در تجربیات سایر دوستان سهیم شوم.

با تشکر

saeed_Z_F
پنج شنبه 13 اردیبهشت 1386, 12:24 عصر
سلام
لطفا در مورد روش سوم بیشتر توضیح بدهید
با تشکر

Amir_csg
پنج شنبه 13 اردیبهشت 1386, 15:11 عصر
اگه صفحات کد نویسی شده اش را بذاری ممنونت میشم

greenway
پنج شنبه 13 اردیبهشت 1386, 16:04 عصر
در روش سوم با استفاده از یک سرویس Whois رکورد MX از دومین آدرس الکترونیکی کاربر بدست می آید که از آن به عنوان آدرس Mail Server استفاده می کنند ، با اتصال به سرور میل و سلام و احوالپرسی با پروتکل SMTP - منظور ارسال HELO و گرفتن OLEH و فرستادن اسم کاربر و گرفتن نتیجه می توان تشخیص داد که آیا در سرور مورد نظر آدرسی با نام وارد شده وجود دارد یا خیر و در صورت عدم وجود آدرس در Mail Server مشخصا آدرس وارد شده نامعتبر خواهد بود.
من این کد را پیاده سازی نکرده ام ، اما این نمونه را توسط Telnet برایتان ساختم :


http://i18.tinypic.com/688avk0.gif

armin390
شنبه 15 اردیبهشت 1386, 19:54 عصر
اگه اسم روش رو به مرحله تغییر بدیم!:
مرحله اولتون که باید انجام بشه...
مرحله دومتون بعد از مرحله اول بستگی به اهمیتی که وجود داره و البته کاربرهایی که با سیستم کار می کنند!! می تونه انجام بشه یا نه...
روش! سومتون در کل به هیچ وجه روش قابل قبولی نیست!!

در ایده آل ترین حالت روشی که می تونه پیاده سازی شه اینه
کاربر باید ایمیلش رو ۲ بار وارد کنه بعد اگه این دو ایمیل یکی بودن در صورتی که ساختار ایمیل درست بود میشه برای چک کردن مالکیت داشتن کاربر بر ایمیل یک چیزی!! برای تایید ایمیل به کاربر ارسال کرد تا کاربر اون چیز رو در سیستم وارد کنه!!