0

smtp.live.com SMTP サーバーへの MailCore2 (iOS) 接続に問題があります。pop3.live.comsmtp.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 メールに特別な要件はありますか? Sparrow がこれを行っているので、MailCore が Live の SMTP サーバーを使用できることは知っています。

敬具、
ジョン

4

2 に答える 2

1

NO に設定checkCertificateEnabledしてみてください: [_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 。彼らが使用している証明書は、GlobalSign によって署名されているようです。GlobalSign が信頼できる CA であることを指定するために MailCore で行う必要がある設定があるかどうか疑問に思っています。

于 2013-08-08T19:16:15.897 に答える