2012-08-29 46 views
0

我準備使用MailCore框架的Mail iOS應用程序。在編寫新郵件時,我如何爲我的郵件設置UID,因爲郵件正在發送,但不會移動或複製到發送的郵箱或草稿文件夾。當我複製或移動它得到就行了墜毀的消息..如何在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]; 

請幫忙。

+0

什麼是它崩潰時的錯誤?這裏沒有足夠的空間可以看到,但是看起來你可能會嘗試移動消息而不創建「CTCoreMessage」的實例? – James

+0

它不會產生任何錯誤,只是墜毀。我已經修改了我的問題,現在希望能夠明確我缺少的地方.. – Stunner

+0

您可以添加顯示如何通過IMAP連接到服務器的代碼嗎?您所展示的只是SMTP,後面跟着一個IMAP方法,但沒有什麼可以幫助我們診斷問題。 – James

回答

1

感謝James的支持......我得到了解決方案,您不能設置UID,UID只能由服務器分配。您需要將郵件附加到已發送郵件或草稿郵箱,這可以使用CTCoreFolder上的 - (BOOL)追加:(CTCoreMessage *)來完成。但是,此方法僅適用於最新版本的MailCore。變更集可以在這裏看到:

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

感謝馬特Ronge。

相關問題