标准协议电子邮件 APP 如果做统一推送会从 IMAP/SMTP 泄露明文密码给服务商吗?

199 天前
 busier
专用电子邮件客户端(例如 QQ 邮箱 APP ,在不使用 IMAP/SMTP 情况下),如果 APP 不保活,又想推送新邮件通知,那么可以走统一推送之类的方法。像普通 APP 一样,统一推送服务器只需要与邮件服务商对接对应 token 就能标识出用户。

那如果是使用标准 IMAP/SMTP 的邮件 APP (各种手机自带邮件客户端),是不是必须有一个服务器知道你的 IMAP 帐号,去监测是否接收到新邮件,才能提交给统一推送,才能在 APP 不保活的情况下收到邮件通知?

如果标准协议邮件客户端不使用统一推送,必须保活邮件客户端 APP 才能直连 IMAP 接收邮件,才是唯一不泄漏邮箱 IMAP 密码给第三方的唯一办法。

问下各位,这理解对吗?
2271 次点击
所在节点    信息安全
8 条回复
Configuration
199 天前
yinmin
199 天前
微软 exchange 协议、IMAP 协议是支持推送的,邮件客户端与邮件服务器维持 tcp 长连接,有新邮件服务器直接推送给邮件客户端。目前,android 、iphone 的厂商内置邮件客户端使用 exchange 、imap 协议都是直连邮件服务器的。
vislins
199 天前
你的理解是对的。很清楚了。
yinmin
199 天前
绝大多数的邮件服务商都提供客户端访问 ip 的日志,邮件 app 有没有用中间服务器收邮件,你 web 登录邮箱就能确认。

以前邮箱有代收邮件服务,也就是把别家的收件帐户密码填入,邮箱会自动定期自动收到自己的服务器;这个功能大概 10 年前就不太好使了,很多邮箱都不允许代收,如果一个 ip 登录过多帐户就直接 block 。

也就是如果一个邮件 app 要做统一推送,大概率是失败的,因为很多邮箱都是不允许代收。
jaylee4869
199 天前
你要找的是 IMAP IDLE, RFC 2177.
cnt2ex
198 天前
感觉这个问题本身就不该是个问题。

邮件本来就不是用来实时通讯的,它更像是和网络论坛一样。
标准协议邮件客户端搞个 N 分钟检查一次是否有新的邮件的机制就够用了
而用户如果想要即时获得反馈自己手动刷新客户端就是了,走统一推送服务完全没有必要。
busier
198 天前
busier
138 天前
@jaylee4869 之前编写 python 客户端时用过,很多 IMAP 服务器都是不支持 IDLE 指令的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1113114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX