我正在尝试诊断为什么当 iPhone 或 iPad 等 iOS 设备首次设置为在我们的服务器上使用电子邮件时,会发生这些错误。在设置帐户时,我们从提供商的初始选项集中选择“其他”。输入 IMAP 和 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(邮件)或 PC(Outlook、Thunderbird)或 Linux 上设置 IMAP/SMTP 或使用我能够测试的一台 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 到 10:06:40.723 的日志中有哪些错误?
线
是 SSL 握手的一部分。
请参阅此页面以供参考。
但不幸的是,端口 587 上的服务器不与 SSL (SMTPS) 对话,而是与STARTTLS对话。使用 STARTTLS 的服务器期望初始连接将位于未加密通道中,然后移动到加密通道。
因此,最初IOS 尝试使用 SMTPS(基于 SSL 协议的 SMTP)连接。但是服务器不理解它,所以它会发出警告
Unknown command
,直到一些限制然后断开客户端。由于初始连接被拒绝,IOS 执行回退操作并使用 STARTTLS再次连接到服务器。
在这种情况下,iOS 成功连接到服务器。
时间 10:06:51.067 (10.33.64.161) 列出的地址是什么?
IP 地址 10.33.64.161 似乎是来自 Internet 提供商的 IP 地址。通常客户端会
HELO <something>
用<something>
电脑/手机的IP地址/主机名来宣布iOS 行为
由于我从未使用过 IOS,所以我无法告诉您是什么 iOS 设置导致了这种行为(或者这可能是默认的 iOS 行为)。在您的情况下,预期的行为是通过 STARTSSL 直接连接,绕过 SMTPS 尝试,因此它不会被拒绝并再次列入黑名单。
在评论中,BillThor 确认上述行为是 iOS 的默认行为。
解决方案
显而易见的解决方案是配置邮件服务器 - CommuniGate Pro -,因此它不会将这样行为的客户端列入黑名单。该行为不应被视为失败,也不应将设备列入黑名单。
OP的解决方法
协议错误阈值和被列入黑名单的设置位于Settings-> Mail -> SMTP -> Receiving -> Limits中。默认值为
Disconnect after 20 errors
和Deny access for 15 minutes
。我已将我的更改为Disconnect after 100 errors
andDeny access for 0 seconds
。不确定 0 秒,但它已经解决了使用 CommuniGate Pro 服务器在 iOS 设备上初始设置 IMAP 帐户的问题。