2010-07-21 21 views
5

Je souhaite enregistrer un e-mail et des pièces jointes depuis Gmail (Google Apps) vers une autre base de données pour une fonctionnalité de type CRM. Cependant, selon le docs, "Les extracteurs ne peuvent pas lire les pièces jointes". Ma question: Est-il possible d'utiliser en quelque sorte un type d'identifiant de l'email (tel que EmailTimeExtractor) et de l'utiliser pour extraire les pièces jointes en utilisant IMAP? Je ne suis pas encore très familier avec les gadgets contextuels et je voulais juste savoir si ce que j'essaie de faire est possible avant de plonger trop loin!Accès aux pièces jointes à l'aide de gadgets contextuels gmail

+1

Les pièces jointes ne sont pas la seule chose qui est limitée. Vous ne pourrez également obtenir que les 1000 premiers caractères du corps du message avec l'API gmail-contextual-gadget – JochenJung

Répondre

1

Si vous utilisez un client imap standard pour retirer l'e-mail, vous obtiendrez la pièce jointe. Ce sera l'une des parties. Code Psuedo:

email = new->email_object(); 
remote_mailbox = new->imap_object_creator(username, password, ...) 

while (email = remote_mailbox->download_next_email) { // this downloads the next email 
    foreach part_type (email->parts->next) { // this iterates over the parts of the email 
    if(part_type == 'attachment') { // not sure if this is it exactly, but you'll find it in the mime-type 
     //hooray! you've found an attachment. do what you will with it 
    } 
    } 
} 

Quand je faisais cela, je l'écrivais en Perl alors j'ai utilisé la suite d'outils du MIME pour contenir l'e-mail et IMAP :: client comme mon client imap. Mais toute langue doit avoir des objets communs disponibles pour représenter une connexion IMAP et un email.

0

Je crois que Attachments.me fait exactement cela - cela aide-t-il, ou votre besoin n'est-il pas encore satisfait?

0

Il devrait être possible d'obtenir l'ID de l'e-mail depuis l'extracteur, puis d'utiliser l'objet GmailAttachment du script google apps pour obtenir la pièce jointe.