Шаблоны транзакционной почты Sendgrid удаляют атрибуты href как замены

Я пытаюсь использовать транзакционный шаблон Sendgrid для отправки информационных писем, таких как проверка учетной записи и т. Д., Используя клиент узла sendgrid. Я создал один основной транзакционный шаблон, который должен иметь кнопку с динамическим основным текстом и кнопку с атрибутом динамического URL/href для каждого письма.

Моя замена для текста кнопки работает, и если я заменю ее заменой URL-адреса, я получу возможность увидеть URL-адрес также в тексте. Однако, когда я пытаюсь добавить URL к атрибуту href, он исчезает, он просто удаляет атрибут href из моих тегов привязки. Это происходит везде, независимо от того, устанавливаю ли я URL-адрес кнопки в визуальном компоновщике, в HTML-фрагменте или в теле письма, это не имеет значения. Установка URL вручную, но без подмены, кажется, работает.

Я также попытался использовать%value% в качестве замены и несколько почтовых клиентов (gmail, outlook), но безрезультатно. См. Мою функцию для отправки информационных писем ниже:

const sendInformationalEmail = async (to, subject, body, substitutions) => {
    const fromMail = new helper.Email(SENDGRID_FROM_MAIL);
    const toMail = new helper.Email(to);
    const content = new helper.Content('text/html', body);
    const mail = new helper.Mail(fromMail, subject, toMail, content);
    mail.setTemplateId(process.env.SENDGRID_INFORMATIONAL_TEMPLATE_ID);

    Object.keys(substitutions).map(substitution => {
        mail.personalizations[0].addSubstitution(
            new helper.Substitution(`-${substitution}-`, substitutions[substitution])
        );
    });

    const request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: mail.toJSON()
    });

    return await sendgrid.API(request, function(err, response) {
      console.log(response.statusCode);
      console.log(response.body);
      console.log(response.headers);
    });
}

0 ответов

Другие вопросы по тегам