1

我尝试使用以下代码通过 IMAP 协议从我的公司电子邮件中获取邮件:

MCOIMAPSession *session = [[MCOIMAPSession alloc] init];
[session setHostname:@"imap.mymail.com"];
[session setPort:993];
[session setUsername:@"accidbright@mymail.com"];
[session setPassword:@"password"];
[session setConnectionType:MCOConnectionTypeTLS];
MCOIMAPFetchMessagesOperation * fetchOperation = [session fetchMessagesByUIDOperationWithFolder:inboxFolder requestKind:MCOIMAPMessagesRequestKindHeaders uids:searchResult];
[fetchOperation start:^(NSError *error, NSArray *messages, MCOIndexSet *vanished) {
    if (error) {
        NSLog(@"Fetching all the message subjects error: %@!", error);
    } else {
        NSLog(@"Fetched all the messages subjects!");
    }
}];

我得到错误:

Fetching all the message subjects error: Error Domain=MCOErrorDomain Code=4 
"The certificate for this server is invalid." UserInfo=0x7889ab0 
{NSLocalizedDescription=The certificate for this server is invalid.}!

我知道,我们的邮件是用域证书签名的,所以在域之外它是未经验证的证书。但几乎所有使用邮件(fe Mac Mail)的应用程序都有“继续”按钮,这允许跳过证书验证并使用邮箱。所以我感兴趣的是在 MailCore 2 中有没有可能做到这一点?如果是,我该怎么做?

顺便说一句,当我使用 MailCore 时,我没有这样的问题。

4

1 回答 1

12

你真的应该在MailCore 2 的 GitHub 页面上打开一个问题。尝试:

[session setCheckCertificateEnabled:NO];
于 2013-09-26T02:10:01.157 回答