用 +86 手机号登录或注册 Telegram,输入号码点"下一步",要么一直转圈,要么弹出 smsfee 相关提示,短信怎么都等不到。网上流传的换网络、清缓存、更新 App 挨个试一遍,多数人依然收不到。这不是玄学,是协议层面的设计。
smsfee 到底是什么 Telegram 的登录走 MTProto 协议,验证码由 auth.sendCode 这个接口下发。服务端在响应里会带几个关键字段:phone_code_hash(验证码哈希)、timeout(下次可重试的时间窗)、terms_of_service(条款),以及 sms_fee。 sms_fee 出现,代表当前号段(尤其是 +86)的免费短信通道资源已经耗尽,平台暂停免费短信下发,界面会展示一个付费通道。为什么偏偏是 +86?因为国际短信进国内要过运营商的拦截和审核通道,成本高、失败率高,服务商只能对这类高成本号段启用"发送方付费"模式,把成本转嫁给终端用户。 所以 smsfee 是平台成本与负载平衡的设计,不是安全漏洞,也不是运营商偶发故障。对普通个人号来说,那个付费通道基本无法生效——所以按界面指引操作,照样收不到。 哪些操作容易触发