#html #http #gmail #sendmail #sendgrid
Вопрос:
Я отправляю электронные письма клиентам, в которых есть HTML-теги.
<a href="https://example.com/xyz" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://example.com/xyzamp;amp;source=gmailamp;amp;ust=1630670728276000amp;amp;usg=AGEQSDF-AWAS#">Click Here</a>
На моей конечной точке я хочу знать, был ли это пользователь, который на самом деле нажал на электронное письмо в Gmail, или это была какая-то платформа анализа URL-адресов электронной почты или решения шлюза электронной почты.
Когда пользователь нажимает на ссылку в моем электронном письме, прежде всего, открывается URL https://www.google.com/url?q=https://example.com/xyzamp;amp;source=gmailamp;amp;ust=1630670728276000amp;amp;usg=AGEQSDF-AWAS#
-адрес, а затем он перенаправляется на фактический URL-адрес. После перенаправления, когда он отправляет запрос GET на мою конечную точку, на мой сервер отправляются следующие заголовки. В нем нет URL-адреса реферера, который мог бы помочь мне определить, действительно ли пользователь нажал на него.
GET /xyz HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Te: trailers
Connection: close
Как я решу проблему обнаружения реального клика ( запроса на получение), а не какого-либо анализа URL-адреса?
Комментарии:
1. Вряд ли вы сможете это проверить. Если по ссылке переходят люди или не люди, у вас нет, например, JavaScript, который может помочь, потому что он не выполняется в сообщениях электронной почты. Лучше всего показать промежуточную страницу и попросить пользователя щелкнуть ее, чтобы подтвердить
2. есть ли другой способ добавить реферера в запрос ?
Ответ №1:
Евангелист-разработчик Twilio SendGrid здесь.
Если вы отправляете свои электронные письма с помощью SendGrid (что, я думаю, так и есть, потому что вы отметили вопрос «sendgrid»), вы можете включить отслеживание открытия и нажатия в своей учетной записи SendGrid, а затем настроить получение веб-крючка события. Если вы также отправляете свои электронные письма с уникальным идентификатором в пользовательских аргументах, вы можете привязать каждое открытие и щелкнуть по уникальному электронному письму. Это может быть не идеально, но вы могли бы реализовать некоторые эвристические методы, например, проверить, открыто ли электронное письмо, прежде чем принимать клики.
Я не думаю, что есть какой-либо способ добавить заголовки в запрос, как только пользователь будет направлен через google.com перенаправление.