我正在尝试使用SMTP在我的应用中发送电子邮件而不使用iOS默认邮件系统。 但是,我收到SSL握手失败信息。 这是否意味着我试图使用的SMTP服务器禁止我的请求?任何建议将不胜感激。
2014-07-03 18:04:20.266 MGM[267:4503] C: Attempting to connect to server at: smtp.apps1010.com:25
2014-07-03 18:04:20.360 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.361 MGM[267:60b] S: 220 pan.communilink.net ESMTP
2014-07-03 18:04:20.361 MGM[267:60b] C: EHLO localhost
2014-07-03 18:04:20.362 MGM[267:60b] *** starting short watchdog ***
2014-07-03 18:04:20.370 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.370 MGM[267:60b] S: 250-pan.communilink.net
2014-07-03 18:04:20.377 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.377 MGM[267:60b] S: 250-STARTTLS
2014-07-03 18:04:20.378 MGM[267:60b] C: STARTTLS
2014-07-03 18:04:20.378 MGM[267:60b] *** starting short watchdog ***
2014-07-03 18:04:20.379 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.379 MGM[267:60b] S: 250-PIPELINING
2014-07-03 18:04:20.380 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.381 MGM[267:60b] S: 250-8BITMIME
2014-07-03 18:04:20.381 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.381 MGM[267:60b] S: 250-SIZE 68000000
2014-07-03 18:04:20.382 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.382 MGM[267:60b] S: 250 AUTH LOGIN PLAIN CRAM-MD5
2014-07-03 18:04:20.386 MGM[267:60b] *** stopping watchdog ***
2014-07-03 18:04:20.386 MGM[267:60b] S: 220 Proceed.
2014-07-03 18:04:20.387 MGM[267:60b] Beginning TLSv1...
2014-07-03 18:04:20.388 MGM[267:60b] C: EHLO localhost
2014-07-03 18:04:21.026 MGM[267:60b] CFNetwork SSLHandshake failed (-9807)
答案 0 :(得分:1)
在发送STARTTLS之前,您必须确保已经读取了服务器对最新命令的完整响应 - 在这种情况下,这将是以250 AUTH..
结尾的EHLO。在您发送STARTTLS命令后,您需要等待来自服务器(220 Proceed
)的响应,并且只有在您获得成功响应后才应该从TLS握手开始。只有在握手完成后,您才应该继续在加密连接中发送命令。