ip2e/ip2e-config.py

151 lines
4.3 KiB
Python
Raw Normal View History

2015-10-27 12:25:17 +01:00
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# --------------------------------------------------------------
# ip2e (IP to email) - Create the configuration file. |
2021-04-03 17:55:59 +02:00
# Created by q3aql (q3aql@protonmail.ch) |
2015-10-27 12:25:17 +01:00
# Licensed by GPL v.3 |
2021-04-03 17:55:59 +02:00
# Last update: 03-04-2021 |
2015-10-27 12:25:17 +01:00
# |
# Compatible with Python 3.x |
# --------------------------------------------------------------
2016-02-20 17:04:54 +01:00
version="1.3.2"
2015-10-27 12:25:17 +01:00
#Import python-modules
import os
import sys
#Check if your system use Python 3.x
if sys.version_info<(3,0):
2021-04-03 17:55:59 +02:00
print ("")
print ("* You need python 3.x to run this program.")
print ("")
exit()
2015-10-27 12:25:17 +01:00
#Function to clear screen
def ClearScreen():
2021-04-03 17:55:59 +02:00
if sys.platform == "cygwin":
print (300 * "\n")
elif os.name == "posix":
os.system("clear")
elif os.name == "nt":
os.system("cls")
else:
print ("* Error: Unable clear screen")
2015-10-27 12:25:17 +01:00
#Detect system & PATH of user folder
2016-02-16 15:53:39 +01:00
if os.path.exists("/storage/sdcard0"):
2021-04-03 17:55:59 +02:00
HOMESCARD0="/storage/sdcard0/Android/data"
os.chdir(HOMESCARD0)
print ("Android (Posix) detected")
2016-02-16 15:53:39 +01:00
elif os.name == "posix":
2021-04-03 17:55:59 +02:00
os.chdir(os.environ["HOME"])
print ("Unix (Posix) detected")
2015-10-27 12:25:17 +01:00
elif os.name == "nt":
2021-04-03 17:55:59 +02:00
os.chdir(os.environ["USERPROFILE"])
print ("Windows detected")
2015-10-27 12:25:17 +01:00
if not os.path.exists(".ip2e"):
2021-04-03 17:55:59 +02:00
os.makedirs(".ip2e")
os.chdir(".ip2e")
2015-10-27 12:25:17 +01:00
if os.path.exists(".ip2e"):
2021-04-03 17:55:59 +02:00
os.chdir(".ip2e")
2015-10-27 12:25:17 +01:00
if os.path.isfile("ip2e.conf"):
2021-04-03 17:55:59 +02:00
ClearScreen()
print ("")
print ("** ip2e-config v"+version+" **")
print ("")
print (" - Detected a previous configuration file.")
print (" - Do you want to overwrite or check the current configuration?")
print ("")
print (" * (o) - overwrite (create new configuration)")
print (" * (c) - check and test the current configuration")
print ("")
OverWriteOrCheck=input("- [Default: check and test] Choose an option; ")
if OverWriteOrCheck == "o" or OverWriteOrCheck == "O":
print ("Create new configuration")
else:
exec(open("ip2e.conf").read())
#Import smtplib
import smtplib
try:
server = smtplib.SMTP(SmtpFromEmail)
server.ehlo()
server.starttls()
server.ehlo()
server.login(FromEmailUser,FromEmailPass)
server.quit()
print ("")
print ("* Test OK")
print ("")
PauseExit=input("+ Press ENTER to exit ")
except:
print ("")
print ("* Failed to connect ("+SmtpFromEmail+")")
print ("")
PauseExit=input("+ Press ENTER to exit ")
exit()
#Set variables of 'ip2e.conf'
2015-10-27 12:25:17 +01:00
ClearScreen()
print ("")
print ("** ip2e-config v"+version+" - Create config.file **")
2015-10-27 12:25:17 +01:00
print ("")
FromEmail=input("- Type the email sender: ")
FromEmailUser=input("- Type the user of email sender: ")
FromEmailPass=input("- Type the pass of email sender: ")
SmtpFromEmail=input("- Type the server STMP (STARTTLS) of email sender: ")
ToEmail=input("- Type the email receiver: ")
2015-10-27 12:25:17 +01:00
#Create 'ip2e.conf'
if os.path.isfile("ip2e.conf"):
2021-04-03 17:55:59 +02:00
os.remove("ip2e.conf")
ip2ecf=open('ip2e.conf','w')
2015-11-01 12:56:13 +01:00
ip2ecf.close()
ip2ecf=open('ip2e.conf','a')
2015-11-01 12:56:13 +01:00
ip2ecf.write('# sample configuration file of ip2e\n')
ip2ecf.write('\n')
ip2ecf.write('FromEmail="'+FromEmail+'"\n')
ip2ecf.write('FromEmailUser="'+FromEmailUser+'"\n')
ip2ecf.write('FromEmailPass="'+FromEmailPass+'"\n')
ip2ecf.write('SmtpFromEmail="'+SmtpFromEmail+'"\n')
ip2ecf.write('ToEmail="'+ToEmail+'"\n')
ip2ecf.close()
2015-10-27 12:25:17 +01:00
#Show the configuration
ClearScreen()
print ("")
print ("** ip2e-config v"+version+" - Current config.file **")
2015-10-27 12:25:17 +01:00
print ("")
readfile=open('ip2e.conf', 'r')
print(readfile.read())
readfile.close()
2015-11-01 15:17:40 +01:00
#Test connection with your configuration
print ("")
TestConnection=input("- [Default: y] Test connection with your configuration (y/n): ")
if TestConnection == "n":
2021-04-03 17:55:59 +02:00
print ("Exiting...")
exit()
else:
2021-04-03 17:55:59 +02:00
exec(open("ip2e.conf").read())
#Import smtplib
import smtplib
try:
server = smtplib.SMTP(SmtpFromEmail)
server.ehlo()
server.starttls()
server.ehlo()
server.login(FromEmailUser,FromEmailPass)
server.quit()
print ("")
print ("* Test OK")
print ("")
PauseExit=input("+ Press ENTER to exit ")
except:
print ("")
print ("* Failed to connect ("+SmtpFromEmail+")")
print ("")
PauseExit=input("+ Press ENTER to exit ")