0

MailCore2 (iOS) 与 smtp.live.com SMTP 服务器的连接存在问题连接到pop3.live.comsmtp.gmail.comsmtp.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 正在这样做。

亲切的问候,
约翰

4

2 回答 2

1

尝试设置checkCertificateEnabled为 NO: [_sessionSMTP checkCertificateEnabled:NO];

来自 MailCore 文档:

checkCertificateEnabled

设置为 YES 时,如果证书不正确,连接将失败。

于 2013-09-20T13:31:30.880 回答
0

您可以使用 openssl 连接到 smtp.live.com:587,继续使用 SMTP,发出 STARTTLS,然后查看证书链:openssl s_client -starttls smtp -crlf -connect smtp.live.com:587 The certificate chain looks fine to me: 。看起来他们使用的证书是由 GlobalSign 签名的。我想知道是否需要在 MailCore 中进行设置以指定 GlobalSign 是受信任的 CA。

于 2013-08-08T19:16:15.897 回答