2010-07-21 14 views
5

Я хотел бы сохранить электронное письмо вместе с вложениями из Gmail (Google Apps) в другую базу данных для CRM-подобных функций. Однако, согласно docs, «Экстракторы не могут читать вложения электронной почты». Мой вопрос: возможно ли каким-то образом использовать какой-либо идентификатор из электронной почты (например, EmailTimeExtractor) и использовать его для втягивания вложений с помощью IMAP? Я еще не очень хорошо знаком с контекстуальными гаджетами и просто хотел узнать, возможно ли, что я пытаюсь сделать, перед тем, как нырять слишком далеко!Доступ к вложениям с использованием gmail-контекстных гаджетов

+1

Вложения не единственное, что ограничено. Вы также сможете получить только первые 1000 символов тела сообщения сообщения с помощью API-интерфейса gmail-contextual-gadget – JochenJung

ответ

1

Если вы используете стандартный клиент imap, чтобы вытащить электронную почту, вы получите вложение. Это будет одна из частей. Псевдопользователей код:

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 
    } 
    } 
} 

Когда я делал это, я писал ее в Perl, поэтому я использовал в MIME :: Tools пакет для хранения электронной почты и IMAP :: Client в качестве моего IMap клиента. Но любой язык должен иметь общие объекты для представления соединения IMAP и электронной почты.

0

Я считаю, что Attachments.me делает именно это - помогает ли это, или ваша потребность все еще неудовлетворенна?

0

Должно быть возможно получить идентификатор электронной почты из экстрактора, а затем использовать приложение GmailAttachment для Google Apps для получения вложения.