通过我们的平台,我发送带有取消订阅链接的自动电子邮件。
取消订阅的格式如下:
http://example.com/unsubscribe?id={id}&c={code}
Id表示数据库中的UserId,Code只是链接到User的一些哈希(因此人们无法取消订阅随机人员)。
问题是我得到 UserId与数据库不匹配(约5-10%)的异常 - Id比我们数据库中的最大Id大得多。
另一个奇怪的事情是查询参数似乎被颠倒了。它突然?c={code}&id={id}
而不是?id={id}&c={code}
。
代码真的很简单,我无法相信在构建原始邮件时可能出现任何问题。在某种程度上,似乎没有任何其他代码路径。
我可以提出两个可能的原因:
但在某种程度上我不知道,我在这里真的很茫然。我真的很想解决这个问题,因为我想要做的最后一件事就是偶然发现垃圾邮件的人无法取消订阅。
有人能指出我正确的方向吗?