我尝试使用此代码从我的公司电子邮件中通过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.}!
我知道,我们的邮件是使用域名证书签名的,因此在域外,它是未经验证的证书。但几乎所有使用邮件(例如Mac Mail)的应用程序都有“继续”按钮,这允许跳过证书验证并使用邮箱。所以我感兴趣的是有没有可能在MailCore 2中这样做?如果是,我该怎么做?
顺便说一句,当我使用MailCore时,我没有这样的问题。
答案 0 :(得分:11)
你应该在MailCore 2's GitHub page上打开一个问题。尝试:
[session setCheckCertificateEnabled:NO];