Oskryptowanie Gmaila

Google nie udostępniło do Gmaila tak wygodnego API jak dla Google Calendar, którego przykład zastosowania umieściłem w poprzednim wpisie. Zastanawiając się jednak chwilę – mamy przecież dostęp do protokołu POP, więc jakieś API się znajdzie ;)

Kontynuując myśl z poprzedniego tekstu – jeśli mam już gotowy skrypt który potrafi wysłać powiadomienie SMS o konkretnej treści, można zrobić skrypt, który jako SMS wyśle np. temat z maila. Et voila:

Wymagania: Python 2.4+, skrypt z sms.py z poprzedniego wpisu.

#!/usr/bin/env python

__author__ = 'mw AT nme.pl'
__version__ = '1.2'
__date__ = 'pią lip 31 13:17:45 CEST 2009'

class setup:
    class google:
        login = 'KONTO@GOOGLE'
        password = 'HASŁO'

import poplib
import email
import email.Header
import sms

class Mailbox:

    def __init__(self):

        self.server = poplib.POP3_SSL('pop.gmail.com', 995)
        self.server.user(setup.google.login)
        self.server.pass_(setup.google.password)
        self.server.set_debuglevel(0)

        # fetch
        count = self.server.stat()[0]
        print count
        if count:
            for i in range(1,count+1):
                (header, msg, octets) = self.server.retr (i)
                mail = email.message_from_string('\n'.join(msg))
                subject = email.Header.decode_header(mail['Subject'])[0]
                if subject[1]:
                    subject = subject[0].decode(subject[1],'ignore')
                else:
                    subject = subject[0]
                #print subject
                sms.parse(subject.split())
                self.server.dele (i)

        # commit
        self.server.quit()

mbox = Mailbox()

Zostaw komentarz