2017-07-10 4 views
0

Je suis en train de parcourir l'exemple de Sendgrid pour envoyer un email pour dupliquer des adresses email mais obtenir des résultats étranges. Je reçois des courriels en double (4 d'entre eux) à chaque fois. J'ai regardé plusieurs threads et presque tous ont été résolus par une demande en double. Cependant, d'après ce que je peux voir il n'y en a aucun (et encore, c'est fondamentalement le script d'exemple de Sendgrid). Toute aide serait grandement appréciée ...Sendgrid exemple php envoi d'e-mails en double

code:

$url = 'https://api.sendgrid.com/'; 
$user = 'My Username'; 
$pass = 'My Password'; 

$json_string = array(

    'to' => array(
    '[email protected]', '[email protected]' 
), 
    'category' => 'test_category' 
); 


$params = array(
    'api_user' => $user, 
    'api_key' => $pass, 
    'x-smtpapi' => json_encode($json_string), 
    'to'  => '[email protected]', 
    'subject' => 'testing from curl', 
    'html'  => 'testing body', 
    'text'  => 'testing body', 
    'from'  => '[email protected]', 
); 


$request = $url.'api/mail.send.json'; 

// Generate curl request 
$session = curl_init($request); 
// Tell curl to use HTTP POST 
curl_setopt ($session, CURLOPT_POST, true); 
// Tell curl that this is the body of the POST 
curl_setopt ($session, CURLOPT_POSTFIELDS, $params); 
// Tell curl not to return headers, but do return the response 
curl_setopt($session, CURLOPT_HEADER, false); 
// Tell PHP not to use SSLv3 (instead opting for TLS) 
curl_setopt($session, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2); 
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
// obtain response 
$response = curl_exec($session); 
curl_close($session); 



// print everything out 
print_r($response); 

L'impression indique le succès (une seule fois). L'email est bien livré. Le seul problème est que 4 emails apparaissent dans chaque emailbox.

Répondre

0

Si vous utilisez un navigateur, il est probable que vous ayez des plugins qui provoquent des soumissions répétées - ce qui semblera ne se produire qu'une seule fois du point de vue de votre navigateur. Les journaux Web vous montreront également si cela se produit. Essayez de l'appeler depuis curl sur une ligne de commande pour garantir qu'il ne soumet la requête qu'une seule fois.