2014-05-28 1 views
3

В принципе, у меня есть приложение, в котором пользователь вводит свой адрес электронной почты и пароль, приложение сохраняет его, а затем пользователь вводит адрес электронной почты друга, и мне нужно приложение, чтобы получить все входящие сообщения электронной почты пользователя, друг - отправитель. Сначала мне показалось, что я получаю все электронные письма, а затем извлекаю их для проблемы с друзьями, это требует времени TON. Для пользователя с 4000 электронными письмами требуется более десяти минут.Использование mailcore (iOS), как я могу получить все электронные письма с определенного адреса электронной почты?

MCOIMAPSession *session = [[MCOIMAPSession alloc] init]; 
session.hostname = @"imap.gmail.com"; 
session.port = 993; 
session.username = @"[email protected]"; 
session.password = @"xxxx"; 
session.connectionType = MCOConnectionTypeTLS; 

MCOIndexSet *uidSet = [MCOIndexSet indexSetWithRange:MCORangeMake(1,UINT64_MAX)]; 
MCOIMAPMessagesRequestKind requestKind = MCOIMAPMessagesRequestKindFullHeaders; 

MCOIMAPFetchMessagesOperation *fetchOp = 
[session fetchMessagesByUIDOperationWithFolder:@"INBOX" 
            requestKind:requestKind 
              uids:uidSet]; 

[fetchOp start:^(NSError *err, NSArray *msgs, MCOIndexSet *vanished) { 

    for (int i = 0; i < [msgs count]; i++) { 
     MCOIMAPMessage *m = msgs[i]; 

     MCOIMAPFetchContentOperation *operation = [session fetchMessageByUIDOperationWithFolder:@"INBOX" uid:m.uid]; 

     [operation start:^(NSError *error, NSData *data) { 
      MCOMessageParser *messageParser = [[MCOMessageParser alloc] initWithData:data]; 

      NSString *msgHTMLBody = [messageParser htmlBodyRendering]; 
      NSLog(@"%i", i); 
     }]; 
    } 

}]; 

Итак, мне действительно нужен способ получить все письма от определенного человека. Это возможно? И если да, как я могу это сделать? Спасибо!

+1

Попробуйте поискОперация. –

ответ

4

Использование * + (MCOIMAPSearchExpression *) searchFrom: (NSString ) значение

, чтобы получить список messageUids с FROMADDRESS является результатом поиска, а затем извлекают почтовые сообщения из этого Списка messageUid.

 Смежные вопросы

  • Нет связанных вопросов^_^