由于 msnbot,发送给 outlook 用户的电子邮件验证 link 过期

Email validation link sent to users on outlook expire due to msnbot

我创建了一个网络应用程序,用户必须首先注册并通过单击包含验证码的 link 来确认他们的电子邮件地址; 我最近发现使用 outlook 的用户 code expired or does not exist 每当他们想要验证他们的电子邮件地址时。 经过一个小时的调试,我发现 MSN 机器人在发送电子邮件之前正在访问验证 link,使其过期。我知道这确实验证了电子邮件,因为我注意到如果帐户不存在,机器人不会访问该页面,但如果错误的人收到电子邮件或就用户体验而言,这无济于事; 我想知道是否有熟悉此问题的人可以就如何管理它提出建议。

这是我使用 php 从机器人中读取的内容。如果主机包含 msnbot 或 search.msn.com,我可以尝试不验证电子邮件地址,但我不知道这个解决方案有多可靠,因为我不知道机器人是否总是 return 中的任何一个。

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b
IP: 40.77.167.67
Hostname by address: msnbot-40-77-167-67.search.msn.com

不计算 link 次点击,而是将用户引导至明确要求用户单击按钮的页面。