2016-09-05 2 views
0

Ich verwende sendgrid/sendgrid-phpthe repo on github transnationale E-Mails senden. Heute habe ich die Bibliothek aktualisiert, die neue verwendet die API v3, während ich zuvor v2 verwendet habe. Ich habe den Code geändert, wie pro ihre Beispiele, hier ein Dump meiner SendGrid \ Mail-Objekt ist:SendGrid v3 400 schlechte Anfrage

enter image description here

Das Problem ist, dass ich immer wieder ohne zusätzliche Informationen, die 400 BAD REQUEST Fehler bin Empfang:

enter image description here

Was mache ich falsch? Das Mail-Objekt scheint korrekt zu sein.

Ich versuche, die E-Mail die folgende Art und Weise zu senden:

$apiKey = getenv('SENDGRID_API_KEY'); 
$sg = new \SendGrid($apiKey); 
$request_body = [creating the mail object]; 
$response = $sg->client->mail()->send()->post($request_body); 
+0

Nur klar zu sein, ist [Erstellung des Mail-Objekts]; mein neues SendGrid \ Mail ($ from, $ subject, $ to, $ content); ? Oder gehst du ohne die Helper-Klasse aus? –

+0

@JustinSteele Ich benutze den Helfer wie in diesem Beispiel https://github.com/sendgrid/sendgrid-php/blob/master/examples/helpers/mail/example.php, siehe die Funktion kitchenSink. I.e. Ich erstelle zuerst das Mail-Objekt, füge dann E-Mails, Personalisierungen und Anhänge hinzu und rufe $ sg-> client-> mail() -> send() -> post ($ mail) auf; endlich – Sergey

+1

Ich glaube nicht, dass der 'custom_args'-Parameter ein JSON-Array übernimmt. Ich denke, es sollte ein JSON-Objekt sein. So: '{" md_email_id ": 26921}'. Dies könnte ein Problem mit der Bibliothek sein. Es könnte nützlich sein zu zeigen, wie Sie das E-Mail-Objekt erstellen. –

Antwort