وبلاگ فربد | Farbod Blog

توی این وبلاگ راجع به پروژه هام صحبت می کنم

آموزش تایید صحت ایمیل

  • ۸۸۲

سلام دوستان :)

 

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

خب توی این آموزش قراره که بطور مستقیم به سرور smtp گوگل متصل بشیم و ایمیل رو تایید کنیم

 

خب وارد cmd بشین و کد زیر رو بزنین:

nslookup -q=mx gmail.com

 

خب خروجی که بهتون میده یک سری رکورد های mx هستش اما ما قراره از کدوم استفاده کنیم ؟

 

خود گوگل  اولین اولویتشاولین رکورد هستش (اون رکوردی که MX preference = 5 داره)

 

پس ما هم از همون استفاده میکنیم :)

 

کاری که ما میخوایم بکنیم اینه که به این سرور متصل بشیم فایلی که کاربر بهمون گفته و حاوی آدرس های ایمیل هست رو باز کنیم و ایمیل های داخل فایل رو تایید کنیم

 

خب حالا که این ها رو میدونیم میتونیم بریم سراغ برنامه

 

توی برنامه مون از دو تا کتابخونه استفاده میکنیم یکی smtplib که بطور پیشفرض روی پایتون نصب هست یکی هم colorama که برای تغییر رنگ متن و خوشگل کاری هست :))

 

سورس:

import smtplib
import colorama

colorama.init()


def checker(rcpt):
    gmail = smtplib.SMTP("gmail-smtp-in.l.google.com", 25)
    try:
        gmail.sendmail("farbodmoradiblog@gmail.com", rcpt, "nothing")
    except smtplib.SMTPRecipientsRefused:
        return False
    except smtplib.SMTPDataError:
        return True


gmaillist = input("Gmail List File : ")
gmaillist = open(gmaillist)

for gmail in gmaillist:
    gmail = gmail.strip("\n")
    if checker(gmail):
        print(colorama.Fore.GREEN + "[+] {} is Correct !".format(gmail))
    else:
        print(colorama.Fore.RED + "[-] {} is InCorrect !".format(gmail))

input()

 

خب اول ماژول هامون رو ایمپورت کردیم بعدش یک تابع به نام checker تعریف کردیم که یک ورودی میگیره 

داخل تابع checker یک شی برای اتصال به smtp سرور درست کردیم و از همون آدرسی که بالا گفتم استفاده کردیم

خب همونطور که میدونید try و except برای مدیریت خطا ها هست بنابراین با داخل try تلاش میکنیم که به ایمیل farbodmoradiblog@gmail.com از طرف ایمیلی که به ورودی تابع دادیم میفرسته

اگر سرور DataError داد مقدار True رو بر میگردونه یعنی آدرس ایمیلی که بهش دادیم درست بوده

 

اگر سرور RecipientsRefused داد یعنی ایمیلی با اون آدرس ساخته نشده و ایمیل درست نیست و مقدار False رو بر میگردونه(توجه کنید که این اسکریپت فقط برای ایمیل های gmail کار میکنه)

 

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

 

امیدوارم براتون مفید بوده باشه D:

 


ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی