我试图诊断为什么当像iPhone或iPad这样的iOS设备第一次设置为使用我们的服务器的电子邮件时,会出现这些错误。 我们从提供商最初的一套select中select“其他”来build立账户。 在inputIMAP和SMTP服务器名称后,您可以看到下面的连接事务。 69.197.220.11是电话的地址。 我们运行CommuniGate Pro 6.0.10。
日志中的错误从10:06:40.691到10:06:40.723是什么?
在10:06:51.067 (10.33.64.161)列出的地址是什么?
在Macbook(Mail)或PC(Outlook,Thunderbird)或Linux上设置IMAP / SMTP,或使用我已经能够testing的Android设备时,不会发生错误。 协议错误最终导致iOS设备的IP地址被电子邮件服务器列入黑名单。
系统日志如下:
10:06:40.688 5 SMTP [0.0.0.0]:587 <- [69.197.220.11]:49426 connection request. socket=191 10:06:40.688 5 SMTP new VStream created, 1 total 10:06:40.688 5 SMTP stream thread started 10:06:40.688 4 SMTPI-011473([69.197.220.11]) [192.168.200.100]:587 <- [69.197.220.11]:49426 incoming connection(our domain.net) 10:06:40.688 5 SMTPI-011473([69.197.220.11]) out: 220 ourdomain.net ESMTP CommuniGate Pro 6.0.10\r\n 10:06:40.691 5 SMTPI-011473([69.197.220.11]) inp: \022\003\001 10:06:42.693 5 SMTPI-011473([69.197.220.11]) out: 501 Unknown command\r\n 10:06:42.693 5 SMTPI-011473([69.197.220.11]) inp: \163\001 10:06:44.696 5 SMTPI-011473([69.197.220.11]) out: 501 Unknown command\r\n 10:06:44.696 5 SMTPI-011473([69.197.220.11]) inp: 10:06:46.698 5 SMTPI-011473([69.197.220.11]) out: 501 Unknown command\r\n 10:06:46.698 5 SMTPI-011473([69.197.220.11]) inp: \159\003\001T\135 l 10:06:48.700 5 SMTPI-011473([69.197.220.11]) out: 501 Unknown command\r\n 10:06:48.700 5 SMTPI-011473([69.197.220.11]) inp: \004\225\176d2\217\180\005"]\167\176\182\131N&\183\175\218\167\200\167\245\003\246\005\221 10:06:50.702 5 SMTPI-011473([69.197.220.11]) out: 501 Unknown command\r\n 10:06:50.702 1 SMTPI-011473([69.197.220.11]) Too many protocol errors, aborting 10:06:50.723 4 SMTPI-011473([69.197.220.11]) closing connection 10:06:50.723 4 SMTPI-011473([69.197.220.11]) releasing stream 10:06:50.966 5 SMTP [0.0.0.0]:587 <- [69.197.220.11]:49427 connection request. socket=214 10:06:50.966 4 SMTPI-011474([69.197.220.11]) [192.168.200.100]:587 <- [69.197.220.11]:49427 incoming connection(ourdomain.net) 10:06:50.966 5 SMTPI-011474([69.197.220.11]) out: 220 ourdomain.net ESMTP CommuniGate Pro 6.0.10\r\n 10:06:51.067 5 SMTPI-011474([69.197.220.11]) inp: EHLO [10.233.64.161] 10:06:51.067 5 SMTPI-011474([69.197.220.11]) out: 250-ourdomain.net your name is not [10.233.64.161]\r\n250-DSN\r\n250-SIZE\r\n250-STARTTLS\r\n250-AUTH LOGIN PLAIN CRAM-MD5 GSSAPI\r\n250-ETRN\r\n250-TURN\r\n250-ATRN\r\n250-NO-SOLICITING\r\n250-8BITMIME\r\n250-HELP\r\n250-PIPELINING\r\n250 EHLO\r\n 10:06:51.165 5 SMTPI-011474([69.197.220.11]) inp: STARTTLS 10:06:51.165 5 SMTPI-011474([69.197.220.11]) out: 220 please start a TLS connection\r\n 10:06:51.549 4 SMTPI-011474([69.197.220.11]) TLSv1.0 security initiated 10:06:51.635 4 SMTPI-011474([69.197.220.11]) TLS-102107(AES256_SHA) connection accepted for 'ourdomain.net' 10:06:51.865 5 SMTPI-011474([69.197.220.11]) s-inp: EHLO [10.233.64.161] 10:06:51.865 5 SMTPI-011474([69.197.220.11]) s-out: 250-ourdomain.net your name is not [10.233.64.161]\r\n250-DSN\r\n250-SIZE\r\n250-AUTH LOGIN PLAIN CRAM-MD5 GSSAPI\r\n250-ETRN\r\n250-TURN\r\n250-ATRN\r\n250-NO-SOLICITING\r\n250-8BITMIME\r\n250-HELP\r\n250-PIPELINING\r\n250 EHLO\r\n 10:06:51.976 5 SMTPI-011474([69.197.220.11]) s-inp: AUTH PLAIN AGZ1ZGRsZXMAMWJpZ2RvZw== 10:06:51.976 5 SMTPI-011474([69.197.220.11]) SASL(PLAIN) ini: \000fuddles\0001bigdog\000 10:06:51.977 2 SMTPI-011474([69.197.220.11]) '[email protected]' connected(CLRTXT) [69.197.220.11]:49427->[192.168.200.100]:587(tls) 10:06:51.977 2 SMTPI-011474([69.197.220.11]) '[email protected]' disconnected ([69.197.220.11]:49427) 10:06:51.977 2 SMTPI-011474([69.197.220.11]) authenticated as [email protected] 10:06:51.977 5 SMTPI-011474([69.197.220.11]) s-out: 235 [email protected] relaying authenticated\r\n 10:06:52.086 5 SMTPI-011474([69.197.220.11]) s-inp: QUIT 10:06:52.086 5 SMTPI-011474([69.197.220.11]) s-out: 221 ourdomain.net CommuniGate Pro SMTP closing connection\r\n 10:06:52.086 4 SMTPI-011474([69.197.220.11]) TLS connection is closing 10:06:52.086 4 SMTPI-011474([69.197.220.11]) closing connection 10:06:52.086 4 SMTPI-011474([69.197.220.11]) releasing stream
线
10:06:40.691 5 SMTPI-011473([69.197.220.11]) inp: \022\003\001
是SSL握手的一部分。
请参阅此页面以供参考。
但不幸的是,端口587上的服务器不会与SSL(SMTPS)通信,而是与STARTTLS通信 。 具有STARTTLS的服务器期望初始连接将位于未encryption的通道中,然后转到encryption通道。
所以, 最初 IOS试图连接SMTPS(顶层SSL协议上的SMTP)。 但服务器不理解它,所以它给出警告Unknown command直到一些限制,然后断开客户端。
由于初始连接被拒绝,IOS执行回退操作并使用STARTTLS 重新连接到服务器。
10:06:51.165 5 SMTPI-011474([69.197.220.11]) inp: STARTTLS
在这种情况下,iOS成功连接到服务器。
IP地址10.33.64.161似乎是来自Internet Provider的IP地址。 通常客户端会通过<something>来通告HELO <something>是计算机/手机的IP地址/主机名
由于我从来没有使用IOS,所以我不能告诉你什么样的iOS设置导致了这种行为(或者这可能是默认的iOS行为)。 在你的情况下,预期的行为是直接连接通过STARTSSL,绕过SMTPS的尝试,所以它不会被拒绝,再次被列入黑名单。
BillThor在评论中证实,上述行为是iOS的默认行为。
IOS默认为SSL(安全连接),然后提供不安全的连接,如果失败。 SSL连接失败后,用户可以select不安全地连接。 如果STARTTLS可用,则使用它。 连接发现中涉及的活动正在被服务器logging。
显而易见的解决scheme是configuration邮件服务器 – CommuniGate Pro – ,所以它不会将这样的客户黑名单。 这种行为不应被视为失败,也不应将设备列入黑名单。
协议错误阈值和列入黑名单的设置在设置 – >邮件 – > SMTP – >接收 – >限制 。 默认值为Disconnect after 20 errors Deny access for 15 minutes Disconnect after 20 errors Deny access for 15 minutes 。 我已经改变了我的Disconnect after 100 errors和Deny access for 0 seconds 。 不知道有关0秒,但它已解决与我们的CommuniGate Pro服务器在iOS设备上初始设置IMAP帐户的问题。