Sendgrid Dynami c Шаблон зачистки HREF от тегов привязки - PullRequest
1 голос
/ 07 января 2020

У меня есть динамический c шаблон электронной почты для отправки пользователю уникальной ссылки токена для сброса его пароля. Я назначаю ссылку на поле с именем 'link' в разделе dynamic_template_data моих настроек в моем объекте запроса. Когда я получаю электронное письмо, у моего тега привязки нет атрибута href.

Вот мой объект запроса:

{
        method: "POST",
        url: "/v3/mail/send",
        headers: {
          "content-type": "application/json"
        },
        body: {
          personalizations: [
            {
              to: [{ email: email, name: name }],
              dynamic_template_data: {
                link: link
              }
            }
          ],
          // some other content
          // ...
          template_id: Constants.EMAIL.RESET_PASSWORD
        },
        json: true
      }

И html в моем шаблоне динамической отправки sendgrid c:

<div>Use the following link to reset your password: <a href="{{link}}">{{link}}</a></div>

Когда я получаю электронное письмо, текст ссылки корректно заполняется моим динамическим c контентом, но элемент не имеет атрибута href, поэтому он отображается в виде обычного текста и не реагирует на клики:

enter image description here

Что особенно странно, так это то, что при предварительном просмотре моего шаблона Dynami c в редакторе дизайна SendGrid поле href корректно заполняется тестовыми данными, которые я передаю. в.

1 Ответ

0 голосов
/ 14 января 2020

После некоторой перемотки с поддержкой SendGrid мне удалось найти проблему.

Поскольку я разрабатывал эту функцию в своей локальной среде, ссылка, которую я включил в точки моего тела запроса на мой местный хост. Моя переменная ссылки определялась следующим образом:

  link = "localhost:8080/#/resetPassword/" + token;

В качестве теста я изменил ссылку на следующую, и она работала:

link = "https://google.com"

Это вызвало у меня подозрение, что отсутствие протокол http был причиной проблемы. Изменение его на следующее решило проблему:

  link = "http://localhost:8080/#/resetPassword/" + token;

Я предполагаю, что это причуда самого элемента тега привязки, хотя я не совсем понимаю механизм, поэтому, если кто-то мог бы уточнить это для я буду признателен за это.

...