2017-05-05 15 views
2

Ich versuche, eine E-Mail mit SendGrid mit einer Transaktionsvorlage zu senden. Es ist eine Bestellbestätigung an einen Kunden, wo ich einige grundlegende Informationen über die Bestellung zusammen mit einer Liste der bestellten Artikel zeigen möchte.Kann ich umgehen, dass Substitutionen auf 10000 Bytes pro Personalisierungsblock in SendGrid begrenzt sind?

Da SendGrid nicht in Arrays von Elementen Senden unterstützt und sie in Transaktionsvorlagen verwenden, werde ich sie in meiner app und geben Sie den vollständigen HTML-Code in der Substitution für {{Artikel}}

in HTML übersetzen Dies funktioniert gut, bis ein Kunde eine ganze Reihe von Artikeln zu bestellen entscheidet, (wie mehr als 30 oder so abhängig von der Art für jede Zeile), dann ich diese Fehlermeldung:

Substitutionen sind begrenzt auf 10000 Bytes pro Personalisierungsblock

Wer weiß von einer guten Arbeit dafür? Oder sollte ich einfach einen anderen E-Mail-Dienst (z. B. mailjet) verwenden?

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
</head> 
 

 
<body> 
 
    <div> 
 
    <table border="0" cellpadding="0" cellspacing="0"> 
 
     <tbody> 
 
     <tr> 
 
      <td> 
 
      <table> 
 
       <tbody> 
 
       <tr> 
 
        <th>Ordernumber:</th> 
 
        <td>{ordernumber}</td> 
 
       </tr> 
 
       <tr> 
 
        <th>Purchase identifier:</th> 
 
        <td>{purchaseidentifier}</td> 
 
       </tr> 
 
       </tbody> 
 
      </table> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
      <table> 
 
       <thead> 
 
       <tr> 
 
        <th>ID</th> 
 
        <th>Description</th> 
 
        <th>Quantity</th> 
 
        <th>Price</th> 
 
       </tr> 
 
       </thead> 
 
       <tbody> 
 
       <!--{{articles}}--> 
 
       </tbody> 
 
      </table> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
     </tr> 
 
     </tbody> 
 
    </table> 
 
    </div> 
 

 
</body> 
 

 
</html>

UPDATE Oktober 2017: Es ist ein Thread auf Github, die diese Funktion erklärt kommt bald auf die SendGrid API. https://github.com/sendgrid/sendgrid-nodejs/issues/221

Antwort

2

Da Sie nur eine einzige E-Mail an einen einzelnen Benutzer senden, können Sie alles in Ihrem E-Mail-Text ausfüllen, bevor Sie es an SendGrid übergeben, anstatt die Ersetzungen zu verwenden?

+0

Ja, wir könnten das tun, aber ich dachte, wir würden ein wenig von den netten Features von SendGrid verpassen. Es könnte passieren, dass wir die Vorlage über ihre API herunterladen: s und ersetzen Sie das gesamte HTML-Dokument – David

+0

, das Sie bei Ersetzungen verpassen, und mögliche Transaktionsvorlagen, wenn Sie diese nutzen. Sie erhalten jedoch weiterhin Klick- und offene Engagement-Tracking, custom_args und den Ereignis-Webhook, Unterdrückungsmanagement und den allgemeinen Liefervorteil. – jacobmovingfwd

+2

Ja, wir haben es gelöst, indem wir die Transaktionsvorlage von Sendgrid heruntergeladen haben, die Ersetzungen selbst ersetzt haben und sie mit sendgrid gesendet haben. Nachteil ist eine kompliziertere Lösung und 2 http Req per E-Mail, aber oben - es funktioniert! Mailjet war der einzige Dienst, den ich gesehen habe, der das auf eine gute Art und Weise gelöst hat, wo man Arrays von Substitutionen einsenden konnte. – David

Verwandte Themen