Hotmail 令牌邮箱收不到验证码,这个问题身边朋友问过我好几回,我自己也踩过一次。
那天我在一个网站上注册,让它往 Outlook 邮箱发验证码。客户端里令牌换票成功、IMAP 也连上了,收件箱就是空的。我等了五分钟,又点了两次重发,还是没有。
最后发现,三封验证码邮件整整齐齐躺在 垃圾邮件(Junk) 文件夹里。我的工具默认只读收件箱,根本没去看那个文件夹 😅
Hotmail收不到验证码,先别急着怀疑令牌
我现在的判断方法很简单:能连上、能读到收件箱里别的邮件,令牌就是好的。
令牌真有问题,是另一种表现:换票直接报 invalid_grant,IMAP 报 AUTHENTICATE failed,Graph 返回 401。这些我在 Outlook OAuth2令牌报错怎么办 和 Hotmail OAuth2 IMAP连不上 里逐条对过。
如果连接一切正常、就是看不到那一封验证码,那多半是「信到了,但你没看对地方」,或者「信根本没发过来」。下面按我自己的顺序说。
IMAP只读收件箱?垃圾邮件文件夹要单独选
很多收信工具、脚本,默认只 SELECT INBOX,也就是只看收件箱。
微软对陌生发件人、验证码类群发邮件挺敏感的,新注册网站的验证码进 Junk 一点都不奇怪。
我的做法:
- 连上 IMAP 后,先发一次
LIST "" "*",看看这个邮箱到底有哪些文件夹。我这边看到的垃圾邮件文件夹叫 Junk,已删除叫 Deleted,以你自己 LIST 出来的名字为准; - 再
SELECT Junk,用SEARCH FROM "发件人地址"或者SEARCH SINCE 当天日期找一下; - 用的是心蓝这类现成工具的,就去设置里找「收取文件夹 / 包含垃圾箱」之类的选项,勾上。
💡 小坑:IMAP 的 SINCE 只认日期不认几点几分,当天的邮件会全出来,按时间自己再挑一下就行。
心蓝导入的步骤可以看 心蓝怎么导入Hotmail OAuth2令牌邮箱。
Graph收不到邮件?看你读的是哪个文件夹接口
走 Graph 的话,也是同一个坑,只是换了个写法:
- 读
/me/mailFolders/inbox/messages→ 只有收件箱; - 读
/me/mailFolders/junkemail/messages→ 垃圾邮件文件夹,junkemail 是微软固定的文件夹名; - 读
/me/messages→ 所有文件夹的邮件一起返回,加上$orderby=receivedDateTime desc按时间倒序,最新那封就在最上面。
我自己调试的时候,干脆先用 /me/messages 看最新几封,确认信到没到、到了哪个文件夹,再决定程序里固定读哪个。
❗ 如果读 junkemail 返回 403,说明这个令牌的权限不够读邮件,那就不是文件夹的问题了,回去对一下 Outlook OAuth2令牌客户端怎么填 里的 scope 和字段。IMAP 和 Graph 两条路怎么选,看 微软邮箱IMAP和GRAPH怎么选怎么填。
Outlook网页版看不到邮件?重点收件箱的「其他」标签
还有一种情况:有人不用工具,直接网页登录 Outlook 去看,也说没收到。
网页版和手机 App 默认开着 重点收件箱,收件箱上面分「重点 / 其他」两个标签,验证码这类邮件经常被分到「其他」。点一下「其他」就能看到。
这个只影响网页和 App 的显示。IMAP 那边不分重点和其他,收件箱里的都能读到;Graph 里则是邮件上一个叫 inferenceClassification 的字段(focused / other)。
如果你经常要收某个网站的邮件,在网页版的设置 → 邮件 → 垃圾邮件 里,把对方的发件域名加到「安全发件人和域」,后面基本就不进 Junk 了。
所有文件夹都没有?那是验证码根本没发过来
收件箱、Junk、已删除都翻过了还是没有,那问题大概率在发送方:
- 对方限流了。 很多网站 60 秒内只能发一次,连点重发反而全被丢掉。我现在点一次,等两三分钟再说;
- 邮箱地址填错了。 令牌款的卡密是「邮箱----密码----client_id----令牌」一长串,复制的时候多带一个空格或少一个字母,信就发到别处去了。我那次之后都是从卡密里单独复制邮箱那一段;
- 对方不收这个域名。 有些网站压根不往 hotmail.com / outlook.com 发信,或者注册时直接提示邮箱不可用。这种换哪个文件夹都没用,只能换个邮箱。
令牌邮箱收信验收,我现在的固定顺序
被 Junk 坑过一次之后,我拿到新号都按这个顺序验一遍:
- 换票成功,拿到 access_token;
- IMAP 或 Graph 连上,先读收件箱最新一封;
LIST一下文件夹,确认 Junk 叫什么名字;- 自己给它发一封测试邮件,看进了哪个文件夹;
- 再去目标网站要验证码,收件箱和 Junk 两边都看。
我现在主要用店里的 Hotmail 微软邮箱(OAuth2 令牌,IMAP/GRAPH),偶尔也用 Outlook 微软邮箱(OAuth2 令牌)。收信上这两个没啥区别,区别我写在 Hotmail令牌号和Outlook令牌号有什么区别 里了。
收不到信先翻 Junk,这一步真的能省掉不少来回沟通。你那边如果 Junk 也没有,把报错或者工具截图打码丢评论区,我帮你看看卡在哪一步。
评论 (0)