Hace un rato un usuario de Underc0de pregunto como adjuntar un archivo obteniendo los datos del sistema previamente y que sea enviado por mediO de Python, asi que me puse a revisar un poco de la librería smtplib y con ella a jugar un poco, el código anda medio chanchito pero sirve para el cometido principal, tras lograr hacerlo funcional se me vino a la mente darle un uso diferente al script original, el cual sería un Python Mail Sender Love ;).
Ando romántico y porque no modificar un poquito y sacar provecho al script?
Lo primero que necesitamos es tener instalado cowsay y fortune a continuacion una pequeña muestra de cada uno, ya para instalarlos y demas todo es segun su distribución ;).
Un ejemplo de Cowsay la variable -f (tux) nos permite mostar la forma del muñequito, si nos vamos a la terminal y realizamos el siguiente comando cowsay -l nos listara todos los bichitos, en vez de tux ponen el que les agrade.
Ahora, tras lanzar hacemos la prueba con el texto a mostrar al final y tenemos lo siguiente:
Tras instalar fortune solo debemos de ir a la terminal e ingresar el comando fortune, que nos da una frase de manera aleatoria entre todas que tiene.
Lo que nos permite hacer fortune es crear nuestras frases personalizadas, hace un tiempo jugue con fortune y el bashrc si mal no recuerdo pero creo que es mas de 2 años atras.
Se preguntan de donde saca las frases? el directorio es:
Arch y Derivados: /usr/share/fortune
Debian y Derivados: /usr/share/games/fortunes
Así que nos dirigimos al directorio y podemos lanzar un ls al directorio.
Podemos ver archivos con su dat respectivo entonces nosotros procedemos a crear uno nuevo, para ello tenemos que tener uno con la siguiente estructura.
Creando nuestras frases personalizadas para Fortune
Tras tener las frases en el archivo que deseemos en mi caso cree uno como rizel, así que hacemos uso de strfile.
Ando romántico y porque no modificar un poquito y sacar provecho al script?
Lo primero que necesitamos es tener instalado cowsay y fortune a continuacion una pequeña muestra de cada uno, ya para instalarlos y demas todo es segun su distribución ;).
Un ejemplo de Cowsay la variable -f (tux) nos permite mostar la forma del muñequito, si nos vamos a la terminal y realizamos el siguiente comando cowsay -l nos listara todos los bichitos, en vez de tux ponen el que les agrade.
[snifer@rizel]$ cowsay -l Cow files in /usr/share/cows: beavis.zen bong bud-frogs bunny cheese cower daemon default dragon dragon-and-cow elephant elephant-in-snake eyes flaming-sheep ghostbusters head-in hellokitty kiss kitty koala kosh luke-koala meow milk moofasa moose mutilated ren satanic sheep skeleton small sodomized stegosaurus stimpy supermilker surgery telebears three-eyes turkey turtle tux udder vader vader-koala www
Ahora, tras lanzar hacemos la prueba con el texto a mostrar al final y tenemos lo siguiente:
$[snifer@rizel]$ cowsay -f tux "Romantico Snifer ;)" ______________________ < Romantico Snifer ;) > ---------------------- \ \ .--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
Tras instalar fortune solo debemos de ir a la terminal e ingresar el comando fortune, que nos da una frase de manera aleatoria entre todas que tiene.
[snifer@rizel]$ fortune "You should, without hesitation, pound your typewriter into a plowshare, your paper into fertilizer, and enter agriculture" -- Business Professor, University of Georgia
Lo que nos permite hacer fortune es crear nuestras frases personalizadas, hace un tiempo jugue con fortune y el bashrc si mal no recuerdo pero creo que es mas de 2 años atras.
Se preguntan de donde saca las frases? el directorio es:
Arch y Derivados: /usr/share/fortune
Debian y Derivados: /usr/share/games/fortunes
Así que nos dirigimos al directorio y podemos lanzar un ls al directorio.
[snifer@rizel fortune]$ ls off/ education law.dat news rizel.dat archlinux education.dat linux news.dat science archlinux.dat ethnic linuxcookie paradoxum science.dat art ethnic.dat linuxcookie.dat paradoxum.dat songs-poems art.dat food linux.dat people songs-poems.dat ascii-art food.dat literature people.dat sports ascii-art.dat fortunes literature.dat perl sports.dat computers fortunes.dat love perl.dat startrek computers.dat goedel love.dat pets startrek.dat cookie goedel.dat magic pets.dat translate-me cookie.dat humorists magic.dat platitudes translate-me.dat debian humorists.dat medicine platitudes.dat wisdom debian.dat kids medicine.dat politics wisdom.dat definitions kids.dat men-women politics.dat work definitions.dat knghtbrd men-women.dat riddles work.dat drugs knghtbrd.dat miscellaneous riddles.dat zippy drugs.dat law miscellaneous.dat rizel zippy.dat
Podemos ver archivos con su dat respectivo entonces nosotros procedemos a crear uno nuevo, para ello tenemos que tener uno con la siguiente estructura.
Creando nuestras frases personalizadas para Fortune
Frase 1 -- autor % Frase 2 % Visita SniferL4bs! %
Tras tener las frases en el archivo que deseemos en mi caso cree uno como rizel, así que hacemos uso de strfile.
strfile rizel rizel.dat
Tras ello ya tenemos lo necesario para usar en nuestro script.
Funcionamiento:
Envia un correo electrónico, a la señorita dueña de mi corazón con el archivo generado en temporal :), previamente creado con cowsay y fortune.
Necesitamos dos cuentas una nuestra y otra de la novia, prometida chequeo, yo le envio a RizelTane ;). Y ahora el pequeño frankeinsteingther :3 muajajajjjaja.
Necesitamos dos cuentas una nuestra y otra de la novia, prometida chequeo, yo le envio a RizelTane ;). Y ahora el pequeño frankeinsteingther :3 muajajajjjaja.
#!/usr/bin/env python2.7 # -*- coding: utf-8 -*- #maillove.py #Realizado por Jose Moruno Cadima a.k.a Snifer # www.sniferl4bs.com import smtplib import mimetypes import os import sys from email.MIMEMultipart import MIMEMultipart from email.Encoders import encode_base64 from email.mime.text import MIMEText from email.MIMEBase import MIMEBase from email import encoders gmail_to = 'xxxx@gmail.com' #Correo a enviar gmail_from = 'xxxxxx@gmail.com' #Correo de donde se envia password='*******' #Contraseña os.system("rm /tmp/log") #os.system("acpi -i | tee /tmp/log.txt")< os.system("fortune rizel | cowsay -f kiss | tee /tmp/log") msg = MIMEMultipart() msg['From']= (gmail_from) msg['To']= (gmail_to) msg['Subject']="Subject" file = open("/tmp/log.txt", "rb") #Direccion del Archivo attach_file = MIMEBase('multipart', 'encrypted') attach_file.set_payload(file.read()) file.close() attach_file.add_header('Content-Disposition', 'attachment', filename='Una Frase al Día.txt')#NOMBRE DEL ARCHIVO A ENVIAR QUE SE VERA msg.attach(attach_file) mailServer = smtplib.SMTP('smtp.gmail.com',587) mailServer.ehlo() mailServer.starttls() mailServer.ehlo() mailServer.login(gmail_from, password) mailServer.sendmail(gmail_from, gmail_to, msg.as_string()) mailServer.close()
El código por si solo se explica, ahora basta con meterlo en un cron y listo.. mensajes diarios!!!
Para ejecutarlo basta con ir a la terminal y python2 + script:
[snifer@rizel Desktop]$ python2 correoLove.py _________________________________________ / De ti estoy enamorado \ \ :) te quiero mucho . / ----------------------------------------- \ \ ,;;;;;;;, ;;;;;;;;;;;, ;;;;;'_____;' ;;;(/))))|((\ _;;((((((|)))) / |_\\\\\\\\\\\\ .--~( \ ~)))))))))))) / \ `\-(((((((((((\\ | | `\ ) |\ /|) | | `. _/ \_____/ | | , `\~ / | \ \ / | `. `\| / | ~- `\ / \____~._/~ -_, (\ |-----|\ \ ';; | | :;;;' \ | / | | | | |
PD: Ya dije tiene falencias de código, no uso lo correcto por ahi deberia de haber un os.remove :$, pero ando flojo luego mejoro o alguien se anima mejor! ;), quizas es hasta codigo spaguetti como dice el gringo, pero esta funcional xD.
PD2: Debido a que en RadioHack me dijerón drogadicto :3 .. aqui esta el repositorio de GITHUB con las herramientas de SniferL4bs ;)
Regards,
Snifer
*-* Esta vez te ganaste un besito presencial y uno virtual :-*. Pase por mi casa señor snifer para cobrarlo :)
ResponderEliminarJa ja ja ja! ahora si a dormir ya es 3:30 am :P
EliminarRegards,
Snifer
Muy Bueno JAJA Ahora A Ponerlo En Práctica xd
ResponderEliminar