【问题标题】:Swift: Getting error "A stable connection to the server could not be established."Swift:出现错误“无法建立与服务器的稳定连接。”
【发布时间】:2016-12-21 21:47:03
【问题描述】:

我一直在尝试在 iOS 项目中使用 Mailcore2 和 Swift。

session.hostname = ""
session.port = 993
session.authType = MCOAuthType.XOAuth2
session.connectionType = MCOConnectionType.TLS
session.checkCertificateEnabled = false
session.username = ""
session.password = ""
var requestKind: MCOIMAPMessagesRequestKind = MCOIMAPMessagesRequestKind.Headers
var folder: String = "INBOX"
var uids: MCOIndexSet = MCOIndexSet(range: MCORangeMake(1, UINT64_MAX))
var fetchOperation: MCOIMAPFetchMessagesOperation = session.fetchMessagesOperationWithFolder(folder, requestKind: requestKind, uids: uids)
fetchOperation.start({(error: NSError?, fetchedMessages: [AnyObject]?, vanishedMessages: MCOIndexSet?) -> Void in
    if error != nil {
        print("Error downloading message headers:\(error!)")
    }
    //And, let's print out the messages...
    print("The post man delivereth:\(fetchedMessages)")
})

这是我一直在尝试使用的代码,它是 MailCore2 页面上提供的代码。我已经用 Gmail、Yahoo Mail 和 Mail.com 进行了测试,但所有三个都没有工作。我收到以下错误:

CFNetwork SSLHandshake failed (-9806)
Error downloading message headers:Error Domain=MCOErrorDomain Code=1 "A stable connection to the server could not be established." UserInfo={NSLocalizedDescription=A stable connection to the server could not be established.}

【问题讨论】:

  • 你需要设置你的主机名session.hostname = ""
  • 来自该库的无用错误消息。 :(
  • @ReinierMelian 我有一个主机名,我只是在帖子中删除了它。
  • SSLHandshake 可能意味着它无法建立连接。你使用什么主机名?你确定没有防火墙吗?
  • 也许您所在的网络不允许您的请求通过。

标签: ios swift imap mailcore2 mailcore


【解决方案1】:

找不到我看到此内容的链接,但您可以安全地删除 session.authTypesession.checkCertificateEnabled 也可能没有必要。

另请注意,如果您尝试使用 gmail 进行此操作,您可能需要允许安全性较低的应用:https://support.google.com/accounts/answer/6010255

【讨论】:

    猜你喜欢
    • 2015-06-13
    • 2021-01-06
    • 2018-11-28
    • 2017-08-31
    • 2020-04-06
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多