Mail Fakker

Un programma abbastanza completo ,che manda una mail anonima attraverso la famosa tecnica del telnet.E’ ancora un po grezzo XD

from Tkinter import *
from tkMessageBox import *
import webbrowser
import telnetlib
import time

def update():
  webbrowser.open('http://codematrix.altervista.org/?cat=15')
def info():
  info = Toplevel(main_window)
  info.title("Info su MailFakker")
  infopack = Label(info,text="Mail Fakker\nRealizzato da MetalNeox (C)\n http://www.codematrix.hellospace.net\nIl programma è rilasciato sotto licensa GPL",foreground='blue')
  infopack.pack()
  info.resizable(0,0)
def invia():
  server="out.alice.it" #Mettere host del server
  mail="<"+fake_mail_variable.get()+">"
  dest="<"+dest_mail_variable.get()+">"
  subject="<"+obj_mail_variable.get()+">"
  testo = str(text_area.get('1.0', END))
  print(mail+","+dest+","+subject+","+testo+".")
  tn = telnetlib.Telnet(server,25)
  tn.write("helo "+server+"\n")
  tn.write("Mail From:"+mail+"\n")
  tn.write("rcpt to:"+dest+"\n")
  tn.write("data\n")
  tn.write("from:"+mail+"\n")
  tn.write("to:"+dest+"\n")
  tn.write("subject:"+subject+"\n\n")
  tn.write(""+testo+"\n")
  tn.write(".\n")
  tn.write("quit\n")
  print tn.read_all()

def error():
  showinfo('greeting', 'Greetings')
def esci():
  if askyesno('Vuoi Uscire', 'Vuoi uscire veramente?'):
    main_window.destroy()

main_window = Tk()
main_window.title("Mail Fakker")
main_window.geometry("200x330")

menu = Menu(main_window)
aboutmenu = Menu(menu,tearoff=0)
main_window.config(menu = menu)
menu.add_cascade(label="?",menu=aboutmenu)
aboutmenu.add_command(label="Aggiornamenti",command=update)
aboutmenu.add_command(label="Info",command=info)
aboutmenu.add_command(label="Esci",command=esci)

fake_mail_label=Label(text="Email Falsa").pack()
fake_mail_variable=StringVar()
fake_mail_variable.set("mail@falso.it")
fake_mail=Entry(textvariable=fake_mail_variable).pack()

dest_mail_label=Label(text="Email Destinataria").pack()
dest_mail_variable=StringVar()
dest_mail_variable.set("vittima@vittima.it")
dest_mail=Entry(textvariable=dest_mail_variable).pack()

obj_mail_label=Label(text="Soggetto della Mail").pack()
obj_mail_variable=StringVar()
obj_mail=Entry(textvariable=obj_mail_variable).pack()

text_mail_label=Label(text="Inserisci Messaggio").pack()
text_area_variable=StringVar()
text_area_variable.set("")
text_area = Text(main_window, height=10, width=20)
text_area.insert(INSERT,text_area_variable.get())
text_area.pack()

invia = Button(text="Invia",command=invia).pack()

main_window.resizable(0,0)
main_window.mainloop()

Validare una Mail in python

Un piccolo esempio di un programma che controlla la corretta scrittura di un indirizzo email.

import re

def validateEmail(mail):

if len(mail) > 7:
    if re.match("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$", mail) != None:
    return 1
return 0

mail = raw_input("Inserisci una mail ")

if(validateEmail(mail)):
    print ("Mail Valida ")
else:
    print("Mail Non Valida ")

Esempio di Sqlite

Un piccolo esempio di come si usa sqlite

import sqlite3

connection = sqlite3.connect("test.db")
cursor = connection.cursor()

cursor.execute("drop table if exists persone")
cursor.execute("create table persone(id int , nome varchar(30), cognome varchar(30),eta varchar(30), primary key(id))")

name = raw_input("Metti il nuovo nome ")
surname = raw_input("Metti il nuovo cognome ")
age = raw_input("Metti età")
cursor.execute('INSERT INTO persone VALUES (?,?,?,?);',('0',name,surname,age))

connection.commit()
cursor.execute("select nome,cognome,eta from persone")

for row in cursor:
nome,cognome,eta = row
print("\nNome = " +nome)
print("Cognome = " +cognome+"")
print("Eta = " +eta+"")
print("\n--------------\n")

#connection.rollback() #annulla i cambiamenti
cursor.close()
connection.close() 

Creare un grafico a torta.

Creare un diagramma a torta con pygooglechart è molto semplice, ho creato un programmino per automatizzare ancora di piu questo procedimento.

from pygooglechart import PieChart3D

def crea(nome_img,size_width,size_height,nome,data):
    chart = PieChart3D(size_width, size_height)
    chart.add_data(data)
    chart.set_pie_labels(nome)
    chart.download(nome_img+".jpg")

nome_img = raw_input("Nome della immagine che verrà salvata ")
size_width =  input("Mettere la largezza  della immagine(250 consigliato) ")
size_height = input("Mettere l'altezza della immagine(100 consigliato) ")

var = input("Quante variabile vuoi mettere nel grafico ? ")
i = 0
nome = []
data = []
while (i < var):
    var_nome = raw_input("Nome della variabile n. "+str(i)+" ")
    nome.append(var_nome)
    var_data = input("Valore della variabile n."+str(i)+" ")
    data.append(var_data)
    i = i+1

crea(nome_img,size_width,size_height,nome,data)

Creare un Qr Code

Questo e un semplice programma per creare un Qr Code con pygooglechart

from  pygooglechart import QRChart

def crea(size,data,nomefile):
    codice = QRChart(size,size)
    codice.add_data(data)
    codice.set_ec("H",0)
    codice.download(""+nomefile+".png")

size =  input("Mettere la grandezza della immagine 150 o 300 é consigliato ")
data =  raw_input("Messaggio da Codificare ")
nomefile =  raw_input("Nome della immagine ")

crea(size,data,nomefile)

Upload file via ftp con python

Un piccolo Snippet come si invia un file attraverso ftp.
import ftplib
ftp = ftplib.FTP('server.com','login','password') # connessione al server
ftp_file = open('file_esempio.txt','rb') # Apro file da invitare
ftp.storbinary('STOR file_esempio.txt', fpt_open) # Invia il file
ftp_file.close() # Chiudo il file
ftp.quit() # Chiudo la connessione