我尝试使用以下代码通过 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 时,我没有这样的问题。