IP adresi okuma mail gönderme programı ve kaynak kodu vb.net

Başlatan dnacikaya, 17 Temmuz 2018, 13:47:25

dnacikaya

Sanal para üretimi yapan madenciler ve Ip değişikliğinden haber almak isteyenler için geliştirdiğim programı ve kaynak kodunu yazı sonundaki linklerden indirebilirsiniz. Program http://ip-api.com/line  api'sini  ve  sedaelektronik.com@gmail.com  e-mail adreslerini kullanmaktadır. Program vb.net ile yazıldı. Vb.net kaynak kodunda IP okumalar lokal ve genel, Mail gönderme, timer kullanımı,  TXT dosyasına veri kaydedip okuma, internet sinyalini takip etme, mysettings, checkboxs kullanımı gibi konular öğrenilebilir.

https://www.elektroinfo.org/2018/07/ip-okuma-mail-gonderme-programi-vbnet.html


mehmet

Hocam elinize sağlık. Ancak kapalı
kod olduğu için çekinilebilir
kullanım için.

Ben bir kaç farklı Python kodunu birleştirdim.
Cron ile belli zamanlarda kontrol
ediliyor. IP farklı ise e-posta yollanıyor.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""*****************************************************************************
Harici ip adresini öğrenir ve dosyaya yazar.
Verilen e-posta adresine ip yollanır.
Yeniden çalıştırılınca dosyadaki ip ve harici ip okunur,
    ipler aynı ise e-posta yollanmaz.
    
Mehmet Bilgi
25-10-2017
*****************************************************************************"""

#-------------------------------------------------------------------------------
import requests
import re

def getMyExtIp():
    try:
        res = requests.get("http://whatismyip.org")
        myIp = re.compile('(\d{1,3}\.){3}\d{1,3}').search(res.text).group()
        if myIp != "":
            return myIp
    except:
        pass
    return "n/a"

addr = getMyExtIp()
print(addr)

#-------------------------------------------------------------------------------
"""
ip adresi dosyaya yazılacak,
cron ile yarım saatte bir ip
değişimi kontrol edilecek;
eğer değişme varsa 
mail kısmı, ip yollayacak.
"""

import os

ipFarkli = None
ipAdresiPublic = "~/ipAdresiPublic.txt" #gerekli dosyanın pc üzerindeki yolu ve adı.

if(os.path.isfile(ipAdresiPublic)):
    dosyaModu = "r"
    print("Dosya var, silinip yeniden yazılıyor.\n")
else:
    dosyaModu = "w"
    print("Dosya yok, oluşturuluyor.\n")
    
ipDosyasi = file(ipAdresiPublic, dosyaModu)
try:
    ipStr = str(ipDosyasi.readline())
except IOError:
    ipStr = ""

ipDosyasi.close()

if(ipStr != addr):
    ipDosyasi = file(ipAdresiPublic, "w")
    ipDosyasi.writelines(addr)
    ipDosyasi.close()
    ipFarkli = True
else:
    ipFarkli = False

#-------------------------------------------------------------------------------
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
 
if(ipFarkli == True):
    fromaddr = "e-postaYollayacakAdres@gmail.com"
    toaddr = "e-postaYollanacakAdres@gmail.com"
    epostaSifresi = "e-postaYollayacakAdresSifresi"
    msg = MIMEMultipart()
    msg['From'] = fromaddr
    msg['To'] = toaddr
    msg['Subject'] = "Değişen ip adresi: "
    
    body = "Yeni ip adresi " + addr + " olmustur." 
    #body = unicode(body, "utf-8")
    
    msg.attach(MIMEText(body, 'plain'))
    
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(fromaddr, epostaSifresi)
    text = msg.as_string()
    server.sendmail(fromaddr, toaddr, text)
    server.quit()
    
    print("IP adresi e-mail ile yollandı...")
    
else:
    print("IP değişmediği için e-mail yollanmadı...")

dnacikaya

Teşekkür ederim @mehmet hocam. Kaynak kodunu da paylaştım çekinmesin diye kullanacaklar. Hatta softpedia da yayınladı temiz sertifikası verdi 🙂 Zaten yeni versiyonda kullanıcı kendi mail adresini kullanıyor.
Birde whatsapp mesajı gönderme eklemek istiyorum.

http://www.softpedia.com/get/Network-Tools/Network-IP-Scanner/IP-reading-and-Mailing-Program.shtml

mehmet


dnacikaya