Sendgrid-nodejs: Las sustituciones no funcionan en el ejemplo dado

Creado en 25 jul. 2018  ·  4Comentarios  ·  Fuente: sendgrid/sendgrid-nodejs

Pasos para reproducir

Esto envía el correo electrónico. Pero ninguna de las sustituciones reemplaza la plantilla. Simplemente seguí los dos ejemplos mencionados en la sección esto . Pero nada reemplaza las variables en la plantilla HTML por las sustituciones definidas.

Esta es mi plantilla

<html>
<head>
    <title></title>
</head>
<body>
Hello {{name}},
<br /><br/>
I'm glad you are trying out the template feature!
<br /><br/>
<%body%>
<br /><br/>
I hope you are having a great day in {{city}} :)
<br /><br/>
</body>
</html>

con el encabezado <%subject%>

Y este es mi código.

 sgMail.setSubstitutionWrappers('{{', '}}'); // Configure the substitution tag wrappers globally
    const msg = {
    to: '[email protected]',
    from: '[email protected]',
    subject: 'Hello world',
    text: 'Hello plain world!',
    html: '<p>Hello HTML world!</p>',
    templateId: 'd-5d04c39e40054d118b4de3fba82a09ac',
    substitutions: {
        name: "Some One",
        city: "Denver"
    },
    };
    sgMail.send(msg);

Esto envía el correo electrónico, sin embargo, lo recibe así

Hello , 

I'm glad you are trying out the template feature! 

<%body%> 

I hope you are having a great day in :) 

con el asunto de <%subject%> .

Cualquier otra información que desee compartir que sea relevante para el problema que se informa. Especialmente, ¿por qué considera que esto es un error? ¿Qué esperas que suceda en su lugar?

Esperaba un correo electrónico como este (con el asunto Hello world )

Hello Some One, 

I'm glad you are trying out the template feature! 

I hope you are having a great day in Denver :) 

Probado en Template Engine con datos de prueba como

{
  "name": "Some One",
    "city": "Denver"
}

Esto se muestra correctamente en el motor de plantillas.

unknown or a help wanted question

Comentario más útil

¡Gracias por ayudar a @ pankaja92 y gracias a @ bbbneo333 por hacer un seguimiento!

El problema es que si está utilizando las nuevas plantillas dinámicas, la llamada a la API es un poco diferente. En breve actualizaré la documentación de este SDK para reflejar esos cambios.

Todos 4 comentarios

Tengo el mismo problema. Al crear correo a través de Mail.create desde @sendmail/helpers , obtengo mail.substitutions = null

@ bbbneo333 verifique las últimas soluciones dadas en este número. Funcionó para mi

Si. Sustituir substitutions con personalizations.0.dynamic_template_data funcionó para mí. Gracias.

¡Gracias por ayudar a @ pankaja92 y gracias a @ bbbneo333 por hacer un seguimiento!

El problema es que si está utilizando las nuevas plantillas dinámicas, la llamada a la API es un poco diferente. En breve actualizaré la documentación de este SDK para reflejar esos cambios.

¿Fue útil esta página
0 / 5 - 0 calificaciones