Как установить UID для составленной почты в MailCore

Я готовлю iOS-приложение Mail с использованием фреймворка MailCore. При составлении новой почты, как я устанавливаю UID для своих писем, поскольку письма отправляются, но не перемещаются и не копируются в ящик отправленных или в папку черновиков. Когда я копирую или перемещаю сообщение, оно разбивается на линии.

NSString *uid = [msg uid];

В классе CTCoreFolder в этом методе ..

- (void)copyMessage: (NSString *)path forMessage:(CTCoreMessage *)msg
- (void)moveMessage: (NSString *)path forMessage:(CTCoreMessage *)msg

как я создаю и отправляю сообщение таким образом....

CTCoreMessage *msg = [[CTCoreMessage alloc] init];
 CTCoreAddress *fromAddress = [[CTCoreAddress alloc] initWithName:@"name" email:@"[email protected]"];
  CTCoreAddress *address3 = [[CTCoreAddress alloc] initWithName:@"person" email:@"[email protected]"];

 [msg setFrom:[NSSet setWithObject:fromAddress]];
    [msg setTo:[NSSet setWithObject:address3]];
[msg setSubject:@"Test simple appfdgfghbfghb"];

[CTSMTPConnection sendMessage:msg server:@"mail.mailserver.com" username:@"[email protected]"
                         password:@"abcdef" port:587 useTLS:NO useAuth:YES];

После вызова подключения к серверу я вызываю метод перемещения или копирования, например ::

[folder moveMessage:@"INBOX.Sent" forMessage:message];

Пожалуйста помоги.


person Stunner    schedule 29.08.2012    source источник
comment
Какая ошибка при сбое? Здесь недостаточно информации, но похоже, что вы пытаетесь перемещать сообщения без создания экземпляра CTCoreMessage?   -  person James    schedule 29.08.2012
comment
Ошибки не выдает, просто вылетает. Я изменил свой вопрос, теперь надеюсь, что понятно, где мне не хватает ..   -  person Stunner    schedule 30.08.2012
comment
Не могли бы вы добавить код, показывающий, как вы подключаетесь к серверу через IMAP? Все, что вы показали, это SMTP, за которым следует метод IMAP, но нет ничего, что помогло бы нам диагностировать проблему.   -  person James    schedule 31.08.2012


Ответы (1)


Спасибо, Джеймс, за вашу поддержку... Я нашел решение. Вы не можете установить UID, UID назначается только сервером. Вам нужно будет добавить сообщение в почтовые ящики «Отправленные» или «Черновики», это можно сделать с помощью -(BOOL)append:(CTCoreMessage*), который находится в CTCoreFolder. Однако этот метод есть только в новейшей версии MailCore. Набор изменений можно увидеть здесь:

https://github.com/mronge/MailCore/commit/1f64ed5b56fc995613f8fc2dd33d3ff45fe140d0

Благодаря Мэтту Ронге.

person Stunner    schedule 07.09.2012