Lista de tokens de sustitución en SendGrid -- de.js campo con email campo con templates campo con sendgrid campo con mandrill camp Relacionados El problema

List of Substitution Tokens in Sendgrid


1
vote

problema

Español

Estoy enviando un solo correo transaccional a un solo usuario y desea incrustar una lista de elementos en el correo electrónico. Puedo agregar valores de sustitución únicos usando el paquete NPM "SendGrid" en node.js - https://github.com / SendGrid / SendGrid-Nodejs :

  email.addFilter('templates', 'enable', 1); email.addFilter('templates', 'template_id', '11122233445....'); email.addSubstitution('{{TOKEN1}}', 'My Token1 Replacement');   

Pero no puedo ver cómo agregue una lista de elementos a la plantilla en SendGrid. Usando Mandrill puedo usar los manillares y hacer lo siguiente. La lista:

  items: [     {name: "one", url: "/one"},     {name: "two", url: "/two"}, ];   

en la plantilla:

  <ul>     {{#each ITEMS}}     <li>         {{name}} - <a href="{{url}}">Blah</a>     </li>     {{/each}} </ul>   

entonces en el código:

  var rcpt = { "rcpt": email,      "vars": [         { "name":"ITEMS", "content": items }     ] }; mergeVars.push(rcpt); var message = { ...     "merge_vars": mergeVars, } mandrillClient.messages.sendTemplate({... "message": message });   

resultando en:

  <ul>     <li>one <a href="/one">Blah</a></li>     <li>two <a href="/two">Blah</a></li> </ul>   

¿Hay alguna manera de hacer esto en SendGrid?

Original en ingles

I'm sending a single transactional email to a single user and want to embed a list of items in the email. I can add single substitution values using the NPM package "sendgrid" in Node.js - https://github.com/sendgrid/sendgrid-nodejs:

email.addFilter('templates', 'enable', 1); email.addFilter('templates', 'template_id', '11122233445....'); email.addSubstitution('{{TOKEN1}}', 'My Token1 Replacement'); 

But I can't see how add a list of items to the template in sendgrid. Using Mandrill I can use Handlebars and do the following. The list:

items: [     {name: "one", url: "/one"},     {name: "two", url: "/two"}, ]; 

In the template:

<ul>     {{#each ITEMS}}     <li>         {{name}} - <a href="{{url}}">Blah</a>     </li>     {{/each}} </ul> 

Then in the code:

var rcpt = { "rcpt": email,      "vars": [         { "name":"ITEMS", "content": items }     ] }; mergeVars.push(rcpt); var message = { ...     "merge_vars": mergeVars, } mandrillClient.messages.sendTemplate({... "message": message }); 

Resulting in:

<ul>     <li>one <a href="/one">Blah</a></li>     <li>two <a href="/two">Blah</a></li> </ul> 

Is there a way to do this in Sendgrid?

              

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

SendGrid no tiene each lógica en plantillas.

La mejor solución para esto es tener en la plantilla:

  <ul>   {item1}   {item2}   {item3} </ul>   

Luego, en sus sustituciones, habrías rellenado el name="loginForm"2 "apropiado o nulo, según sea el caso. Asegúrese de que su plantilla tenga tantas etiquetas de sustitución como su tamaño de lista máxima, y ​​que tenga valores predeterminados para aquellos artículos de NULL, para que sean poblados, incluso si no hay un artículo.

 

SendGrid doesn't have each logic in Templates.

The best workaround for this is to have in the Template:

<ul>   {item1}   {item2}   {item3} </ul> 

Then in your substitutions, you'd populate either the appropriate <li> item 1 details</li> or NULL as the case may be. Make sure that your template has as many Substitution tags as your max list size, and that you have default values for those items of NULL, so that they're populated even if there's not an item.

 
 

Relacionados problema

1  Mandrill no funciona con contenido de tipo cadena, recuperado de la base de datos  ( Mandrill not working with string type content fetched from database ) 
Estoy tratando de establecer un correo usando Mandrill. Estoy recuperando un contenido de blog de la base de datos y lo envié a correo. Cuando estoy agregando...

0  Agregue metadatos personalizados al enviar un correo electrónico con Mandrill y recibir metadatos en un evento entrante  ( Add custom metadata when sending an email using mandrill and receive metadata in ) 
Me gustaría saber si hay una manera de agregar metadatos personalizados al enviar un correo electrónico usando la API de mandril (/messages/send.json) y reci...

0  ¿Cómo puedo configurar una acción entrante en un correo electrónico entrante  ( How can i setup an inbound action on an email incoming ) 
Estoy desarrollando una solicitud, donde tengo un caso de uso en el que anuncio un ID de correo electrónico en particular en un sitio web. Ahora, necesito que...

0  ¿Se ha compartido el alojamiento IP OK para las solicitudes de API de Mandrill?  ( Are shared hosting ip ok for mandrill api requests ) 
¿Se han compartido el alojamiento IP OK para las solicitudes de API de Mandrill? Estoy tratando de descubrir si una pesadilla es verdadera o simplemente sob...

2  Generando la URL de confirmación en el administrador de dispositivos personalizados  ( Generating confirmation url in custom devise mailer ) 
Estoy usando la API de Mandrill para manejar mi correo electrónico transaccional por una variedad de razones. Un problema que encuentro está generando la conf...

2  Heroku eliminado las variables de configuración de Mandrill, eliminadas, cuyo nombre tiene Mandrill_  ( Heroku removed mandrill add on also removed config variables whose name having m ) 
Heroku eliminado el complemento Mandrill, pero también eliminaron las variables de configuración cuyo nombre tiene mandrillado en ella desde nuestra aplicació...

1  Guarde el objeto a DB cuando se recibe el correo electrónico en Django  ( Save object to db when email is received in django ) 
Estamos usando el marco de Django junto con el mandril. La aplicación está alojada en Heroku. Necesitamos crear un nuevo objeto en el DB siempre que se envíe ...

5  Mandrill CA SSL Errores con rizo  ( Mandrill ca ssl errors with curl ) 
Estoy probando el mandril. Se ve bien. Me inscribí con una cuenta y obtuve una clave API. Descargado el envoltorio de Mandrill PHP de https://bitbucket.org/m...

2  Usando Mandrill como una capa de transporte de correo en Zend 1  ( Using mandrill as a mail transport layer in zend 1 ) 
Actualmente, estoy tratando de integrar la funcionalidad de Mandril en una aplicación heredada Zend 1, y no estoy muy familiarizado con la forma en que maneja...

6  Configure el mensaje-ID con mandril para correos electrónicos a granel  ( Set message id with mandrill for bulk emails ) 
Estoy enviando correos electrónicos a listas de contactos basados ​​en plantillas usando Mandrill. Me gustaría seguir si los contactos han respondido a mi cor...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos