2017-01-08 7 views
2

Ich bin erfolgreich Senden von E-Mails mit SendGrids Web API v3, aber nicht die Substitute funktionieren beim Senden von E-Mails mit Vorlagen. Die E-Mails kommen erfolgreich durch, es findet jedoch kein Austausch statt. Hier ist meine (vereinfacht) SendGrid Vorlage:Ich kann keine Ersetzungen mit SendGrid API V3

<html> 
<head> 
    <title></title> 
</head> 
<body> 
<div>You can reset your password by clicking on this link:&nbsp;{callbackUrl}</div> 

<%body%> 

</body> 
</html> 

Und hier ist die JSON formatiert Körper Ich schicke:

{ 
    "personalizations":[ 
     { 
     "to":[ 
      { 
       "email":"[email protected]" 
      } 
     ] 
     } 
    ], 
    "sub" : { 
     "{callbackUrl}" : "www.mysite.com/changepassword" 
    }, 
    "from":{ 
     "email":"[email protected]" 
    }, 
    "template_id" :"5f852a2e-996b-4f04-be05-31766d1092d8", 
    "subject":"Reset your password", 
    "content": 
    [ 
    {"type": "text/plain", "value": "Thank you"}] 
} 

Die E-Mail wird mit der richtigen Vorlage erzeugt, Betreff und wird gesendet die korrekte E-Mail-Adresse jedoch der E-Mail-Körper enthält die Vorlage ohne Substitutionen:

You can reset your password by clicking on this link: {callbackUrl} 

Thank you 

ich ratlos bin, was ich falsch mache. Ich benutze zurzeit Postman, um die Anfrage zu senden, während ich versuche, das Problem aufzuspüren.

Antwort

0

Sie müssen den Schlüssel substitutions unter personalizations, nicht sub verwenden, wie es in der Dokumentation heißt. Auch hat es eine andere Struktur als sub.

{ 
    "personalizations" : [ { 
    "substitutions" : { 
     ":name" : "John" 
    }, 
    "subject" : "Hello from Java", 
    "to" : [ { 
     "email" : "[email protected]" 
    } ] 
    } ], 
    "from" : { 
    "email" : "[email protected]" 
    }, 
    "template_id" : "11111111-1111-1111-1111-111111111111" 
}