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 (https://www.elektroinfo.org/2018/07/ip-okuma-mail-gonderme-programi-vbnet.html)
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ı...")
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 (http://www.softpedia.com/get/Network-Tools/Network-IP-Scanner/IP-reading-and-Mailing-Program.shtml)
Telegram ile daha kolay
olabilir aslında.
Whatsapp telegram mail seçeneği olabilir.