Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: SirLanceCC en 22 Julio 2006, 09:13 am



Título: Mail con Python
Publicado por: SirLanceCC en 22 Julio 2006, 09:13 am
Bueno... aqui les trataré de explicar mas o menos como podemos enviar un e-mail desde Pyhton, haciendo que nuestra pc trabaje como servidor SMTP...

Código:
#Importamos la libreria de funciones smtp
from smtplib import *

#creamos una clase smtp, en otras palabras definimos el server
server = SMTP('smtp.mail.yahoo.com')
# esto es para yahoo... antes funcionaba...

#nos identificamos con nuestro nombre y contraseñas usuales
server.login('mi_cuenta','mi_password')

#escribimos el mensaje con las cabeceras...
mensaje = '''From: Sir_Lance <remitente@yahoo.com>
To: destinatario@hotmail.com
Subject: Saludando vía SMTP
MIME-Version: 1.0
Content-type: text/plain; charset=iso-8859-1

Hola amigo... te saludo vía SMTP desde mi pc'''

#finalmente enviamos
server.sendmail('remitente@yahoo.com', 'destinatario@hotmail.com', mensaje)

#cerramos la conexión
server.quit()

Ahi esta... solo cambien las direcciones y todo estará listo.

PD: para activar el smtp de yahoo antes era gratis... pero al parecer ahora hay que contratar Y!Plus... es posible que se niegue el acceso :(. Se puede enviar texto en formato html sólo cambia text/plain por text/html. Creo que es todo... dudas, comentario... proximamente como leer tu correo con Python ;)

ADVERTENCIAS: Lo enviado por este script puede llegar a ser spam. Es responsable el usuario final...

---------------------

Ahora veremos como leer nuestro correo mediante POP3
Código:
#Importamos lasfunciones pop3
from poplib import *

#definimos cual será nuestro seridor de correo
server= POP3('pop.mail.yahoo.com')

#obviamente necesitaremos hacer login
server.user('mi_usuario')
server.pass_('mi_password')

En este punto tendremos una conexión activa al servidor... si es que nos lo permite e introducimos bien la contraseña, etc...

Ahora podemos hacer diversas acciones:
Código:
#ver el estado de nuestro buzón
server.stat()
#nos devolverá los mensajes en buzón leidos o no leidos y el espacio que hemos ocupado en el buzón.

server.list()
#hace casi lo mismo que el anterrior pero ademas nos devuelve el peso de cada uno de los mensajes en el buzón

server.list(1)
#devolverá el peso del ultimo mesaje recibido en el buzón

server.retr(1)
#devolverá el contenido completo del mensaje en un array donde cada elemento representa una línea.

server.top(1,0)
#devolverá el contenido de las cabeceras del mensaje, más tantas lineas del cuerpo del mensaje como se especifiquen (en este caso 0)

server.dele(1)
#eliminará el mensaje especificado
#las eliminaciones se hacen al cerrar la conexión y pueden ser canceladas

server.rset()
#no eliminará ningun correo a menos que se especifiquen nuevos

#finalmente salimos del server
server.quit()

Listo!!! lo basico acerca del e-mail con python.
Espero que les sea útil y que quede claro... si no me pueden preguntar para que aclara las cosas


Título: Re: Mail con Python
Publicado por: Division-x en 22 Julio 2006, 11:44 am
muy bueno, gracias :rolleyes: :rolleyes: :rolleyes:


Título: Re: Mail con Python
Publicado por: s1d4rt4 en 22 Julio 2006, 19:59 pm
cuando prueba con el smpt de gmail aparece esto

raise SMTPException("SMTP AUTH extension not supported by server.")
SMTPException: SMTP AUTH extension not supported by server.

problemas del servidor?


Título: Re: Mail con Python
Publicado por: SirLanceCC en 22 Julio 2006, 21:21 pm
Citar
problemas del servidor?
Si verás... algunos servidores no permiten el acceso via smtp... justamente por el problema del spam y los porblemas legales que podría traerles...

Citar
SMTP AUTH extension not supported by server.
Ahi especificamente parece no soportar autentificacion (login)
Espero no estar equivocado  :-\


Título: Re: Mail con Python
Publicado por: SirLanceCC en 23 Julio 2006, 14:50 pm
Ya está! como acceder a  nuestro buzón con pop3 y por tal... leer nuestro correo  ;D

(aver si me gano una chincheta  :rolleyes:)


Título: Re: Mail con Python
Publicado por: Division-x en 23 Julio 2006, 17:15 pm
(aver si me gano una chincheta  :rolleyes:)

te la mereces, o por lo menos un link en el post recopilatorio ;) ;) ;) ;)


Título: Re: Mail con Python
Publicado por: Ragnarok en 23 Julio 2006, 18:44 pm
¿Seguro que así conseguimos que "nuestra pc trabaje como servidor SMTP"?

Yo diría que el que hace el trabajo es el servidor SMTP de yahoo, o el que decidas usar.


Título: Re: Mail con Python
Publicado por: SirLanceCC en 23 Julio 2006, 20:32 pm
Citar
¿Seguro que así conseguimos que "nuestra pc trabaje como servidor SMTP"?

Bueno, no soy un teorico purista... supongo que tienes razón en parte... pero si revisas las cabeecras del mensaje que envies... te aperecerá por ahi el nombre de tu pc y tu ip...

de todos modos repito que no soy purista y perdonen si dije algo mal  :P


Título: Re: Mail con Python
Publicado por: sirdarckcat en 23 Julio 2006, 22:01 pm
Te agrego en el de recopilatorio. :P

Saludos!!


Título: Re: Mail con Python
Publicado por: Azielito en 24 Julio 2006, 17:28 pm
pues para evitar problemas puedes ahcer un form con python y las direcciones enviarlas al localhost con algun servidor SMTP que andan por la red :D

yo uso con PHP el "Local SMTP Relay Server" y me va de maravilla :D