如何在MailCore中为组合邮件设置UID

时间:2012-08-29 04:33:40

标签: ios cocoa imap mailcore

我正在使用MailCore框架准备Mail iOS应用程序。在撰写新邮件时,我如何为邮件设置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:@"name@mailserver.com"];
  CTCoreAddress *address3 = [[CTCoreAddress alloc] initWithName:@"person" email:@"person@rcscentralmail.com"];

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

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

调用Connecting to server后,我调用move或copy方法,如::

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

请帮忙。

1 个答案:

答案 0 :(得分:1)

感谢James的支持......我得到了解决方案,你无法设置UID,UID只能由服务器分配。您需要将消息附加到已发送或草稿邮箱,这可以使用 - (BOOL)追加:(CTCoreMessage *)在CTCoreFolder上完成。但是,此方法仅适用于最新版本的MailCore。变更集可以在这里看到:

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

感谢Matt Ronge。