This topic created in 450 days ago, the information mentioned may be changed or developed.
专用电子邮件客户端(例如 QQ 邮箱 APP ,在不使用 IMAP/SMTP 情况下),如果 APP 不保活,又想推送新邮件通知,那么可以走统一推送之类的方法。像普通 APP 一样,统一推送服务器只需要与邮件服务商对接对应 token 就能标识出用户。
那如果是使用标准 IMAP/SMTP 的邮件 APP (各种手机自带邮件客户端),是不是必须有一个服务器知道你的 IMAP 帐号,去监测是否接收到新邮件,才能提交给统一推送,才能在 APP 不保活的情况下收到邮件通知?
如果标准协议邮件客户端不使用统一推送,必须保活邮件客户端 APP 才能直连 IMAP 接收邮件,才是唯一不泄漏邮箱 IMAP 密码给第三方的唯一办法。
问下各位,这理解对吗?
 | | 2 yinmin Feb 21, 2025 微软 exchange 协议、IMAP 协议是支持推送的,邮件客户端与邮件服务器维持 tcp 长连接,有新邮件服务器直接推送给邮件客户端。目前,android 、iphone 的厂商内置邮件客户端使用 exchange 、imap 协议都是直连邮件服务器的。 |
 | | 3 vislins Feb 21, 2025 你的理解是对的。很清楚了。 |
 | | 4 yinmin Feb 21, 2025 绝大多数的邮件服务商都提供客户端访问 ip 的日志,邮件 app 有没有用中间服务器收邮件,你 web 登录邮箱就能确认。
以前邮箱有代收邮件服务,也就是把别家的收件帐户密码填入,邮箱会自动定期自动收到自己的服务器;这个功能大概 10 年前就不太好使了,很多邮箱都不允许代收,如果一个 ip 登录过多帐户就直接 block 。
也就是如果一个邮件 app 要做统一推送,大概率是失败的,因为很多邮箱都是不允许代收。 |
 | | 5 lavvrence Feb 21, 2025 你要找的是 IMAP IDLE, RFC 2177. |
 | | 6 cnt2ex Feb 22, 2025 感觉这个问题本身就不该是个问题。
邮件本来就不是用来实时通讯的,它更像是和网络论坛一样。 标准协议邮件客户端搞个 N 分钟检查一次是否有新的邮件的机制就够用了 而用户如果想要即时获得反馈自己手动刷新客户端就是了,走统一推送服务完全没有必要。 |
 | | 7 busier Feb 22, 2025 via Android |