Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Visual Basic .NET => Konuyu başlatan: dnacikaya - 17 Temmuz 2018, 13:47:25

Başlık: IP adresi okuma mail gönderme programı ve kaynak kodu vb.net
Gönderen: dnacikaya - 17 Temmuz 2018, 13:47:25
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)

Başlık: Ynt: IP adresi okuma mail gönderme programı ve kaynak kodu vb.net
Gönderen: mehmet - 19 Temmuz 2018, 00:20:17
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ı...")
Başlık: Ynt: IP adresi okuma mail gönderme programı ve kaynak kodu vb.net
Gönderen: dnacikaya - 19 Temmuz 2018, 14:56:49
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)
Başlık: Ynt: IP adresi okuma mail gönderme programı ve kaynak kodu vb.net
Gönderen: mehmet - 20 Temmuz 2018, 09:18:33
Telegram ile daha kolay
olabilir aslında.
Başlık: Ynt: IP adresi okuma mail gönderme programı ve kaynak kodu vb.net
Gönderen: dnacikaya - 20 Temmuz 2018, 15:10:05
Whatsapp telegram mail seçeneği olabilir.