Sendgrid-nodejs: & caractere escapado para & em assuntos de modelo dinâmico

Criado em 17 set. 2018  ·  5Comentários  ·  Fonte: sendgrid/sendgrid-nodejs

Resumo do problema

Ao usar modelos dinâmicos e substituições para definir o assunto do e-mail, o caractere & é escapado para & que faz com que o assunto do e-mail não mostre os nomes da empresa / produto corretamente.

EX: O assunto da mensagem recebida é Thanks for buying at C&A vez do esperado: Thanks for buying at C&A .

Passos para reproduzir

  1. Crie um novo modelo dinâmico e defina o assunto como {{subject}}

  2. Envie o e-mail informando um assunto contendo o caractere & :

const sgMail = require("@sendgrid/mail");

const templateId = "XXXXXXXX";
const apiKey =  "XXXXXXXXXX";

sgMail.setApiKey(apiKey);
const msg = {
  templateId,
  to: "[email protected]",
  from: "[email protected]",
  dynamic_template_data: {
    subject: "Escape & work"
  }
};
sgMail.send(msg);
  1. Verifique em seu cliente de e-mail a mensagem com o assunto Escape & work

Detalhes técnicos:

  • sendgrid-nodejs Versão: 6.3.1
  • Versão Node.js: 6.10.3
unknown or a help wanted question

Comentários muito úteis

Ola @rafaelrpinto

Parece que o que você precisa fazer é usar um colchete triplo no assunto para que o guidão não codifique o conteúdo em HTML. Portanto, em vez de usar {{subject}} use {{{subject}}} . Temos um exemplo disso em nossos documentos aqui e é falado na documentação do guiador aqui em HTML Escaping.

Todos 5 comentários

Ola @rafaelrpinto

Parece que o que você precisa fazer é usar um colchete triplo no assunto para que o guidão não codifique o conteúdo em HTML. Portanto, em vez de usar {{subject}} use {{{subject}}} . Temos um exemplo disso em nossos documentos aqui e é falado na documentação do guiador aqui em HTML Escaping.

@kylearoberts

Sim, isso resolve meu problema.

Obrigado pela resposta rápida.

Rafael

@kylearoberts

Sim, isso resolve meu problema.

Obrigado pela resposta rápida.

Rafael

Por favor, mostre como sua mensagem se parece (exemplo de código) depois de adicionar {{{}}}?

@maxirby

O código é o mesmo, o que mudou é a definição do assunto no modelo onde eu defini como: {{{subject}}} vez de {{subject}}

obrigado

Em Qui, 29 de agosto de 2019 às 12h11 Rafael Pinto [email protected]
escrevi:

@maxirby https://github.com/maxirby

O código é o mesmo, o que mudou é a definição do assunto no
modelo onde eu defini como: {{{assunto}}} em vez de {{assunto}}

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/741?email_source=notifications&email_token=AAN3HIAAR4C4A7P5BMV46M3QG6OFDA5CNFSM4FVM6IJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5N7KTI#issuecomment-526120269 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAN3HICBW77KL3A637OMKTDQG6OFDANCNFSM4FVM6IJQ
.

Esta página foi útil?
0 / 5 - 0 avaliações