- 8 Kas 2015
- 84
- 0
Kod:
[COLOR="Orange"][COLOR="White"]import[/COLOR] [COLOR="Lime"]smtplib[/COLOR]
[COLOR="white"]from[/COLOR] [COLOR="lime"]email.mime.multipart[/COLOR] [COLOR="white"]import[/COLOR] [COLOR="lime"]MIMEMultipart[/COLOR]
[COLOR="white"]from[/COLOR] [COLOR="lime"]email.mime.text[/COLOR] [COLOR="White"]import [/COLOR][COLOR="lime"]MIMEText[/COLOR]
[COLOR="white"]from[/COLOR] [COLOR="lime"]time[/COLOR] [COLOR="White"]import [/COLOR][COLOR="lime"]sleep[/COLOR]
[COLOR="white"]import[/COLOR] [COLOR="lime"]webbrowser[/COLOR]
[COLOR="white"]import[/COLOR] [COLOR="lime"]sys[/COLOR]
[COLOR="white"]import[/COLOR] [COLOR="Lime"]random[/COLOR]
[COLOR="Cyan"]# Kullanacağımız kütüphaneleri import ediyoruz.[/COLOR]
database [COLOR="Yellow"]=[/COLOR] [COLOR="Magenta"]["*****[email protected]"][/COLOR] [COLOR="cyan"]# Sisteme kayıtlı kullanıcıların mailleri database zip'imizde.[/COLOR]
onaykodu[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]str(random.randrange(11245,94832, 3))[/COLOR] [COLOR="Cyan"]# Maile yollanacak olan onay kodumuzu burada kendi belirliyor.[/COLOR]
mail_gir[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]input("Lütfen mailinizi girin: ")[/COLOR] [COLOR="cyan"]# Kişi mail adresini giriyor.[/COLOR]
if [COLOR="magenta"]mail_gir in database:[/COLOR] [COLOR="cyan"]# Eğer sistemde böyle bir mail varsa işlemlerimiz başlıyor.[/COLOR]
mesaj[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]MIMEMultipart()[/COLOR]
mesaj["From"][COLOR="Yellow"]=[/COLOR][COLOR="magenta"]"*****[email protected]"[/COLOR] [COLOR="cyan"]# Buraya gönderen maili giriyoruz.[/COLOR]
mesaj["To"][COLOR="Yellow"]=[/COLOR][COLOR="magenta"]str(mail_gir)[/COLOR] [COLOR="Cyan"]# Gidecek mailimizi buraya yazıyoruz, ben bunu inputla aldığım için bu şekilde yaptım.[/COLOR]
mesaj["Subject"][COLOR="Yellow"]=[/COLOR][COLOR="magenta"]"Onay Kodu"[/COLOR] [COLOR="cyan"]# Başlığımızı seçiyoruz.[/COLOR]
icerik[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]"\nAşağıdaki kodu giriş paneline girin:\n\n"+onaykodu+""[/COLOR]
mesaj_icerik[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]MIMEText(icerik, "plain")[/COLOR]
mesaj.attach[COLOR="magenta"](mesaj_icerik)[/COLOR]
[COLOR="cyan"]# Burada mesajımızın içinde ne yazacağını belirliyoruz.[/COLOR]
try:
mail[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]smtplib.SMTP("smtp.gmail.com",587)[/COLOR] [COLOR="Cyan"]# Mail atacağımız porta bağlanıyoruz.[/COLOR]
mail.ehlo()
mail.starttls()
mail.login[COLOR="Magenta"]("*****[email protected]","*****")[/COLOR] [COLOR="cyan"]# Gönderecek mail olan mailimizi ve şifresini giriyoruz.[/COLOR]
mail.sendmail[COLOR="magenta"](mesaj["From"],mesaj["To"],mesaj.as_string())
[/COLOR]
print[COLOR="magenta"]("Onay kodunuz gönderildi, yönlendiriliyorsunuz...")
[/COLOR]
sleep[COLOR="magenta"](0.75)[/COLOR]
webbrowser.open_new_tab[COLOR="magenta"]("https://www.gmail.com/")[/COLOR] [COLOR="cyan"]# Gmail sayfasına yönlendiriyor.[/COLOR]
mail.close() [COLOR="cyan"]# Mailimizi ve şifresini girdiğimiz için işlem bittikten sonra smtp serverinden çıkıyoruz.[/COLOR]
except: [COLOR="cyan"]# Eğer hata olursa sys modülüyle bildiriyoruz:[/COLOR]
sys.stderr.write[COLOR="magenta"]("Mail gönderilemedi,program sonlandırılıyor...")[/COLOR] [COLOR="cyan"]# Hata olduğunda verilecek olan uyarı.[/COLOR]
sys.stderr.flush() [COLOR="cyan"]# Hatamıza kırmızı renk verecek böylelikle gerçek bir hata gibi çalışacak.[/COLOR]
sleep[COLOR="magenta"](1)[/COLOR]
sys.exit() [COLOR="cyan"]# Uyarıdan 1 saniye sonra programımızı kapatıyor.[/COLOR]
[COLOR="Blue"]### Mail gönderme işlemimiz bitti, burası da onaylama kısmı. ###[/COLOR]
while True: #[COLOR="Cyan"] Sonsuz bir döngüye sokuyor ve "break" ya da başka bir programı bitirme komudu görene kadar dönüyor.[/COLOR]
onaykodu_gir[COLOR="Yellow"]=[/COLOR][COLOR="magenta"]input("Lütfen onay kodunu girin: ")[/COLOR] [COLOR="cyan"]# Maile yolladığımız onay kodunu girmemizi istiyor.[/COLOR]
kodgir_hak[COLOR="Yellow"]=[/COLOR]0
if [COLOR="magenta"]onaykodu_gir == onaykodu:[/COLOR] [COLOR="cyan"]# Eğer bize yolladığı ve girmemizi istediği kod doğruysa girişimizi kabul ediyor.[/COLOR]
print[COLOR="magenta"]("Kontrol ediliyor...")[/COLOR]
sleep[COLOR="magenta"](0.5)[/COLOR]
print[COLOR="magenta"]("Girişiniz onaylandı, ana panele yönlendiriliyorsunuz.")[/COLOR]
break [COLOR="cyan"]# Programımızı bitiyor.[/COLOR]
else:
sys.stderr.write[COLOR="magenta"]("Kodunuz hatalı, kontrol edip tekrar deneyin...")[/COLOR]
sys.stderr.flush()
[COLOR="cyan"]# Aynı şekilde hatamız.[/COLOR]
kodgir_hak += 1 # Her hata yaptığımızda buraya 1 ekleniyor.
if [COLOR="magenta"]kodgir_hak == 3:[/COLOR] [COLOR="cyan"]# Eğer 3 olursa, 3 kere denenmiş ve yanlış girilmiş demek oluyor. Bu yüzden programımız sonlanıyor.[/COLOR]
print[COLOR="magenta"]("3 denemeden sonra hatalı giriş yaptınız, programs sonlandırılıyor.")[/COLOR]
sleep[COLOR="magenta"](0.75)[/COLOR]
break [COLOR="cyan"]# Programımızı bitiyor.[/COLOR][/COLOR]
Programımızı başlatıyorum:
1 - Hızlı ResimMail adresime giriyorum:
2 - Hızlı ResimArdından gelen kodu programımıza giriyorum:
3 - Hızlı ResimVe gördüğünüz gibi mailimize gelen kodu girdiğimizde sisteme giriş yapabiliyoruz.
Bu sistem eğer çok önemliyse, her girişimizde mail isteyerek girişteki güvenlik seviyesini arttırabiliriz.
İnşallah ihtiyacı olanların, olmayanların yararına olmuştur.
Hayırlı günler, iyi forumlar dilerim...
Bu sistem eğer çok önemliyse, her girişimizde mail isteyerek girişteki güvenlik seviyesini arttırabiliriz.
İnşallah ihtiyacı olanların, olmayanların yararına olmuştur.
Hayırlı günler, iyi forumlar dilerim...
Son düzenleme: