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