Underc0de - La Casa de los Informáticos

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: jayson en Julio 28, 2014, 09:18:28 PM

Título: [SOLUCIONADO] Ayuda con archivo adjunto!!
Publicado por: jayson en Julio 28, 2014, 09:18:28 PM
Hola como están tengo un script que con el comando "systeminfo" copila los datos y me lo envía por diferentes método ya hice el método local que es mediante una memoria usb lo abro en otro ordenado y listo y también con un servidor ftp pero tengo problemas con el  envió por email lo que quiero hacer es que el archivo se cree y se envié por email automáticamente no se si me exprese bien, disculpen solo tengo 4 semanas con python y se que esto suena un poco noob.

aquí el código

Código (python) [Seleccionar]
import os
import sys                          #aqui importamos todo
import posixpath
import smtplib
from email.mime.text import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEImage import MIMEImage
from email.Encoders import encode_base64


def extraer_informacion():
comando = "systeminfo"
tubo = os.popen (comando)        #Aqui sacamos el archivo
datos = tubo.readlines ()
nombre_pc = datos[1].split(" ")[-1].split("\n")[0]
nombre_fichero = "Informacion de" + nombre_pc+".txt"
fichero = open(nombre_fichero, "w")
fichero.writelines(datos)
fichero.close()
return nombre_fichero


def usuarios():
msg = MIMEMultipart()
msg['From'] = '[email protected]' #correo de usuarioss
msg['To'] = '[email protected]'
msg['Subject']="Correo con texto Adjunta"

def archivo(): #Esto vino con el scrip del correo, No entiendo bien como funciona
f = open(fichero, "rb")
attach_text = MIMEText(fichero.read())
attach_text.add_header('Content-Disposition', 'attachment; filename = "fichero"')
msg.attach(attach_image)



def Autenticamos():
mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls() #Nos autenticamos
mailServer.ehlo()
mailServer.login("emailxx","pass")
mailServer.sendmail("emailxx", "emailxx", msg.as_string())
mailServer.close()



fichero = extraer_informacion()
archivo()
usuarios() #Aqui concluye todo
Autenticamos()
Título: Re:Ayuda con archivo adjunto!!
Publicado por: Snifer en Julio 28, 2014, 11:49:37 PM
Ando desde el movil y no puedo ver bien el code, pero a groso modo andas usando una cuenta de hotmail en gmail :P, dale una revisadita a los siguientes links mientras llego a casa  y lo reviso o alguien del foro logra verlo mas a fondo.

http://www.mkyong.com/python/how-do-send-email-in-python-via-smtplib
http://rosettacode.org/wiki/Send_an_email#Python
En la siguiente parte de código

Código (python) [Seleccionar]

def archivo():                                                                                                                                          #Esto vino con el scrip del correo, No entiendo bien como funciona
        f = open(fichero, "rb")
        attach_text = MIMEText(fichero.read())
        attach_text.add_header('Content-Disposition', 'attachment; filename = "fichero"')
        msg.attach(attach_image)


Realizas un atach de una imagen ;), xD en ningun lugar pones el formato del fichero asi, un poco de google puede ayudar una busqueda rápida.

http://lesthack.com.mx/2010/10/14/enviar-e-mail-con-python/

Regards,
Snifer

PD: Llego a casa y juego un rato y te paso codigo funcional ;)

Ya lo termine dame un rato que te lo subo y pruebo ya llegue a casa :P

Edit2

Listo estimado el codigo funcional :P


Enviado desde:
(https://pbs.twimg.com/media/Btrnb_RIMAAuQeq.png:large)

Enviado A:
(https://pbs.twimg.com/media/Btrnb7wIQAAaaNe.png:large)

Código (python) [Seleccionar]
import os
import sys
import smtplib
import mimetypes


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 = '[email protected]'
gmail_from = '[email protected]'
password='*******'

msg = MIMEMultipart()
msg['From']= (gmail_from)
msg['To']= (gmail_to)
msg['Subject']="Correo PoC SniferL4bs"


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='SniferL4bs PoC')#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()



Cualquier duda avisas... :), define tus clases  y demas lo hice rapido :P


PD3: Creo que andas de suerte :| pocas veces programo y ayudo asi xDD los que me conocen lo saben,

Regards,
Snifer
Título: Re:Ayuda con archivo adjunto!!
Publicado por: jayson en Julio 29, 2014, 08:29:33 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Ando desde el movil y no puedo ver bien el code, pero a groso modo andas usando una cuenta de hotmail en gmail :P, dale una revisadita a los siguientes links mientras llego a casa  y lo reviso o alguien del foro logra verlo mas a fondo.

http://www.mkyong.com/python/how-do-send-email-in-python-via-smtplib
http://rosettacode.org/wiki/Send_an_email#Python
En la siguiente parte de código

Código (python) [Seleccionar]

def archivo():                                                                                                                                          #Esto vino con el scrip del correo, No entiendo bien como funciona
        f = open(fichero, "rb")
        attach_text = MIMEText(fichero.read())
        attach_text.add_header('Content-Disposition', 'attachment; filename = "fichero"')
        msg.attach(attach_image)


Realizas un atach de una imagen ;), xD en ningun lugar pones el formato del fichero asi, un poco de google puede ayudar una busqueda rápida.

http://lesthack.com.mx/2010/10/14/enviar-e-mail-con-python/

Regards,
Snifer

PD: Llego a casa y juego un rato y te paso codigo funcional ;)

Ya lo termine dame un rato que te lo subo y pruebo ya llegue a casa :P

Edit2

Listo estimado el codigo funcional :P


Enviado desde:
(https://pbs.twimg.com/media/Btrnb_RIMAAuQeq.png:large)

Enviado A:
(https://pbs.twimg.com/media/Btrnb7wIQAAaaNe.png:large)

Código (python) [Seleccionar]
import os
import sys
import smtplib
import mimetypes


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 = '[email protected]'
gmail_from = '[email protected]'
password='*******'

msg = MIMEMultipart()
msg['From']= (gmail_from)
msg['To']= (gmail_to)
msg['Subject']="Correo PoC SniferL4bs"


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='SniferL4bs PoC')#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()



Cualquier duda avisas... :), define tus clases  y demas lo hice rapido :P


PD3: Creo que andas de suerte :| pocas veces programo y ayudo asi xDD los que me conocen lo saben,

Regards,
Snifer


Gracias broo! tenia ese mismo tuto y funciona desde hotmail pero no me exprese bien el archivo lo crea el mismo scrip pero vere como me la ingenio gracias!



Citardef extraer_informacion():
   comando = "systeminfo"
   tubo = os.popen (comando)
   datos = tubo.readlines ()
   nombre_pc = datos[1].split(" ")[-1].split("\n")[0]
   nombre_fichero = "Informacion de" + nombre_pc+".txt"
   fichero = open(nombre_fichero, "w")
   fichero.writelines(datos)
   fichero.close()
   return nombre_fichero
Título: Re:Ayuda con archivo adjunto!!
Publicado por: ANTRAX en Julio 29, 2014, 08:34:57 AM
Hola bro, avisanos si ya está solucionado el problema para cerrar el post

Saludos!
ANTRAX
Título: Re:Ayuda con archivo adjunto!!
Publicado por: jayson en Julio 29, 2014, 08:38:23 AM
No todavia estoy medio uff, lo que quiero es que el mismo script cree un txt y lo mande pero como tengo que poner la ruta estoy medio dudoso
Título: Re:Ayuda con archivo adjunto!!
Publicado por: ANTRAX en Julio 29, 2014, 08:48:41 AM
Fijate si te sirve esto: http://blog.underc0de.org/2014/04/i-o-en-python.html

Saludos!
ANTRAX
Título: Re:Ayuda con archivo adjunto!!
Publicado por: jayson en Julio 29, 2014, 08:50:28 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Fijate si te sirve esto: http://blog.underc0de.org/2014/04/i-o-en-python.html

Saludos!
ANTRAX

Gracias lo hare
Título: Re:Ayuda con archivo adjunto!!
Publicado por: Snifer en Julio 29, 2014, 09:38:35 AM
Para crear es mas simple usa os.system(COMANDO A USAR | log.txt) y ya :D.


Regards,
Snifer
Título: Re:Ayuda con archivo adjunto!!
Publicado por: jayson en Julio 29, 2014, 09:42:48 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Para crear es mas simple usa os.system(COMANDO A USAR | log.txt) y ya :D.


Regards,
Snifer

uff vere como me va gracias ya lo logre pero de una forma brusca con el otro scrip me crea 3 carpetas en otra pc y no quiero eso
Título: Re:Ayuda con archivo adjunto!!
Publicado por: Snifer en Julio 29, 2014, 10:17:50 AM
Como andas en windows por lo que me dijiste juega con esto.

Código (python) [Seleccionar]

>>>import os
>>>print os.popen("systeminfo").read()


En vez de pipe usa >> log.txt y listo.


PD: Ando haciendo esta parte casi de memoria, no ando en windows.
Regards,
Snifer