2017-07-21 2 views
0

Je suis en train d'utiliser Amazon SES pour l'envoi de courrier (avec ou sans pièces jointes) en utilisant AWS SDK et sendRawEmail(). Mais il rebondit toujours avec l'erreur "De" est manquant dans l'en-tête.« De » manquant en-tête en utilisant AWS SES API Email en utilisant AWS SDK en PHP

Le code est aussi suivi:

$header .= "From: [email protected] \r\n "; 
$header .= "To: [email protected] \r\n "; 
$header .= "Reply-To: [email protected] \r\n "; 
$header .= "Subject: Testing Attachments \r\n "; 
$header .= "MIME-Version: 1.0 \r\n "; 
$header .= "Content-Type: text/plain; charset=utf-8 \r\n "; 
$header .= "Content-Transfer-Encoding: 7bit \r\n \r\n "; 
$header .= "This is normal content \r\n "; 




$result = $client->sendRawEmail(
        array('RawMessage' => array('Data' => base64_encode($header)), 'Source' => '[email protected]', 'Destinations' => array('[email protected]'), 'SourceArn' => 'arn:aws:ses:eu-west-1:1234:identity/[email protected]', 'FromArn' => 'arn:aws:ses:eu-west-1:1234:identity/[email protected]') 
       ); 

Si je ne donne pas « Source », « Destinations » à sendRawEmail() il donne l'erreur « From » en-tête est manquant et si ces paramètres sont donnés que la le courrier rebondit avec la même erreur.

Merci d'avance pour m'aider à trouver la solution pour le même.

+0

Peut-être sans rapport, mais il devrait y avoir aucun caractère ** espace ** avant chaque '\ r \ n'. Il ne devrait définitivement y en avoir aucun à la fin du message. –

Répondre

2

J'ai eu le même problème lors de l'utilisation d'un autre SDK de langue.

base64_encode($header) 

Ne pas le coder. Retirez base64_encode

+0

InvalidParameterValue (client): Groupe imbriqué - Expéditeur InvalidParameterValue Groupe imbriqué Cette erreur se produit ensuite. – Rishi

+0

Merci, en supprimant 'base64_encode()' travaillé pour moi lorsque je suis passé de v2 à v3 du aws php sdk. – Tom