我遇到与 smtp.live.com SMTP服务器的MailCore2(iOS)连接问题。
连接到 pop3.live.com , smtp.gmail.com 或 smtp.mail.yahoo.com 时没有问题。
以下是设置
[_sessionSMTP setHostname:@"smtp.live.com"];
[_sessionSMTP setUsername:@"mytestmail@outlook.com"];
[_sessionSMTP setPassword:@"MyTestPassword1"];
[_sessionSMTP setPort:587];
[_sessionSMTP setConnectionType:MCOConnectionTypeStartTLS];
[_sessionSMTP setAuthType:MCOAuthTypeSASLPlain];
[_sessionSMTP setUseHeloIPEnabled:YES];
MCOSMTPOperation *op = [_sessionSMTP checkAccountOperationWithFrom:
[MCOAddress addressWithMailbox:@"mytestmail@outlook.com"]];
[op start:^(NSError *error) {
NSLog(@"error = %@",error);
}];
我经常得到:
Error Domain=MCOErrorDomain Code=4 "The certificate for this server is invalid."
Live Mail有什么特殊要求吗?我知道MailCore可以使用Live的SMTP服务器,因为Sparrow正在这样做。
亲切的问候,
约翰
答案 0 :(得分:1)
尝试将checkCertificateEnabled
设置为NO:
[_sessionSMTP checkCertificateEnabled:NO];
来自MailCore文档:
checkCertificateEnabled
设置为YES时,如果证书不正确,连接将失败。
答案 1 :(得分:0)
您可以使用openssl连接到smtp.live.com:587,继续使用SMTP,发出STARTTLS,然后查看证书链:openssl s_client -starttls smtp -crlf -connect smtp.live.com:587
证书链对我来说很好:。看起来他们使用的证书是由GlobalSign签署的。我想知道是否需要在MailCore中进行设置以指定GlobalSign是受信任的CA.