任何人都可以帮我理解错误 - “操作无法完成。(OSStatus error -9807。)”。
我用google搜索&发现,SkSMTPMessage
除外,有时此错误出现在AVAudioPlayer
类中,但数字不同,即 9800 。
我的问题是, A)您能告诉我,这里有多少重要的数字, B)为什么代码中会出现这样的错误?
我在这里找到了一个解决方案 -
似乎iOS 5+或更高版本以及此smtp应用程序存在一些兼容性问题,因为iOS开始使用TLS 1.2。
在SKPSMTPMessage.m
中找到来源,并按照以下方式修改来源,它可以正常工作
//CFDictionarySetValue(sslOptions, kCFStreamSSLLevel, kCFStreamSocketSecurityLevelTLSv1);
CFDictionarySetValue(sslOptions, kCFStreamSSLLevel, kCFStreamSocketSecurityLevelSSLv3);
在我的案例中没有用。
在这种情况下,当我尝试使用我的gmail
帐户发送电子邮件时,但当我尝试从我的公司SMTP
凭据发送时,它没有不行。
如何从我的应用中解决此类问题?
答案 0 :(得分:2)
可能是由SSL证书引起的。我遇到了同样的问题,结果证明我的服务器使用的是自签名SSL证书,iOS也有问题。
答案 1 :(得分:0)
添加以下行:
// Only do this for self-signed certs!
emailMessage.validateSSLChain = NO;