Bingpreview会使电子邮件中的一次性链接无效

时间:2017-01-17 13:59:28

标签: email outlook web-crawler bing

Outlook.com似乎使用BingPreview抓取工具抓取电子邮件中的链接。

但是在打开电子邮件之后以及在用户有机会使用它们之前,一次性链接被标记为已使用/已过期。

我尝试在<a>中添加rel =“nofollow”,但没有成功。

如何阻止电子邮件中每个链接的抓取工具?

由于

4 个答案:

答案 0 :(得分:5)

我做了同样的事情。

$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
        // Deny access for the BingPreview bot, used by outlook.com on links in e-mails ad Slackbot
        if (strpos($user_agent, 'BingPreview') !== false || strpos($user_agent, 'Slackbot') !== false) {
            header('Status: 403 Forbiden', true, 403);
            exit(1);
        }

答案 1 :(得分:1)

我刚刚遇到了相同的问题,在用户收到确认链接并使其无效之前,已在发送的电子邮件中执行确认链接。 我通过修改URL链接到的页面来解决此问题。我在页面上添加了一个“确认”按钮,用户必须单击该按钮以确认其电子邮件,这很好用。

答案 2 :(得分:1)

这里也一样。我们使用了一个程序块来禁止BingPreview和Slackbot,并使用服务器脚本语言(lucee / coldfusion和application.cfc)来访问链接。

答案 3 :(得分:0)

我见过同样的问题。在outlook中打开的电子邮件中的链接似乎被“BingPreview”机器人立即抓取。

我在HTML电子邮件的标题中添加了漫游器元标记。

我还添加了对链接处理脚本中user-agent标头中出现的标准bot签名的检查。如果它看起来像机器人,那么我正在退出并且不会使链接无效。

不能确定这是否有效(只是做了改动)。