Archivo

miércoles, 17 de noviembre de 2010

Email gratis en tu celular viejito ( tipo n1100 :)


     Estar comunicado hoy en dia, es imprescindible para muchos, y estar al tanto del correo a veces se convierte en un vicio u obligacion (al menos en mi caso), si bien se puede tener acceso a internet y revisar nuestra casilla de email con los celulares de hoy en dia es relativamente facil, pero esto no siempre es factible, por el solo hecho d q nesecitamos un celular de "los nuevos" y contratar algun pack de datos. Pues bien para los q se quedaron en el tiempo y siguen utilizando celulares con algunos añitos encima (sin 3G, ni wifi, ni siquiera pantalla a color) he realizado una aplicacion q trabaja como demonio que nos avisara si nos llego algun mail.

     En realidad sirve para cualquier tipo/modelo de celular (sin distincion de raza ni religion =), el funcionamiento es simple, chequea una cuenta POP cada cierto intervalo de tiempo y al encontrar un correo nuevo, lo "formatea" a un mensaje de texto y lo envia como un simple sms.

     Es similar a crear un filtro en gmail, solo q lo podemos utilizar con cualquier cuenta de correo, sin mas q decir aqui va el codigo, sientase libres de modificarlo y personalizarlo a gusto ;)

# # # # # ##     Email to S M S  - v 0.1
#                ===================================
# Chequea una casilla de correo (pop), interpreta el mensaje
# y lo reenvia como sms
#
# by Mario G. Corvalan (Brujo - 2010)


import smtplib, time, poplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

class EmailerPOP3:
    def __init__(self):
        self.M = poplib.POP3_SSL('pop.gmail.com',995)
        self.M.user('xxxxxxxxxxxxxxx@gmail.com')
        print self.M.pass_('xxxxxxxxxxxxxxxxxxxxxxxx')
    def readmail(self):
        self.M.list()
        numMessages = len(self.M.list()[1])
        vector = self.M.retr(numMessages)[1]
        return vector
        M.quit

class EmailerSMTP:
    def __init__(self): # Configuracion de la cuenta d e-mail
        self.mailserver = smtplib.SMTP('smtp.gmail.com',587)
        print self.mailserver.ehlo()
        print self.mailserver.starttls()
        print self.mailserver.ehlo()
        print self.mailserver.login("xxxxxxxxxxxx@gmail.com", "xxxxxxxxxxxxxxxx")
    def cuerpo(self, asunto, mailTo, mailTexto, mailFrom): # Asunto y mail destino a mostrar
        self.mensaje = MIMEText(mailTexto)
        self.mensaje['From'] = mailFrom
        self.mensaje['To'] = mailTo
        self.mensaje['Subject'] = asunto
    def envio(self,mailTo,mailFrom): # Envio a la direccion mostrada en cuerpo(), podria ser diferente ;)
        self.mailserver.sendmail(mailFrom, mailTo, self.mensaje.as_string())
        #self.mailserver.close()
    def fin(self):
        self.mailserver.close()
fecha = []
mailTo = "xxxxxxxxxxxxxxx@sms.cmail.com.ar" #@sms.movistar.net.ar @personal-net.com.ar
try:
    LeerEmail = EmailerPOP3()
except:
    print "No conectar al POP3"
else:
    fecha = LeerEmail.readmail()
    print fecha # ultimo mail recibido
    while 1:
        try:
            LeerOtro = EmailerPOP3()
        except:
            print "No puedo conectar al POP3 para leer otro"
            time.sleep(120)
        else:
            vector = []
            vector = LeerOtro.readmail()
            if fecha[2] != vector[2]:
                try:
                    EnviarEmail = EmailerSMTP()
                except:
                    print "no entra al fucking smtp!!!"
                    time.sleep(120)
                else:
                    EnviarEmail.cuerpo(vector[17], mailTo, vector[24], vector[14])
                    i=0
                    while i < n:
                        EnviarEmail.envio(mailTo, vector[14])
                        i=i+1
                    EnviarEmail.fin()
                    fecha[2] = vector[2]
            time.sleep(60)
Publicar un comentario