Underc0de

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
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
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
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
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
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
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