在收件人列表中添加多个电子邮件地址非常困难。
我成功添加一个电子邮件地址到收件人列表,见这里的代码
$email_list = array ( "email" => "srinivas1@addpronetwork.com",'name' => "srinivas");
$json_email = json_encode($email_list);
$url = 'https://api.sendgrid.com/api/newsletter/lists/email/add.json';
$params = array(
'list' => urlencode($list_name),
'data' => $json_email,
'api_user' => $this->config->item('api_username'),
'api_key' => $this->config->item('api_password'),
);
$request = $url;
// Generate curl request
$session = curl_init($request);
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false);
// 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);
$obj = json_decode($response);
在上面的代码中,我将单个电子邮件地址添加到列表中。我的数据参数看起来像这样
data => '{ "name": "srinivas", "email": "srinivas@addpronetwork.com" }'
当我试图添加多个电子邮件地址,但我面临的问题…见数据参数
['{"name":"Srinu","email":"srinivas@addpronetwork.com"}','{"name":"Pallavi","email" :"pallavi@addpronetwork.com"}']
见下面的链接
https://sendgrid.com/docs/API_Reference/Marketing_Emails_API/emails.html的东西—
您需要像这样将每个电子邮件条目添加为自己的'data'变量:
curl -X POST https://api.sendgrid.com/api/newsletter/lists/email/add.json '
-d 'api_user=your_sendgrid_username' '
-d 'api_key=your_sendgrid_password' '
-d 'list=my_list' '
-d 'data[]={"email":"address1@domain.com","name":"contactName1"}' '
-d 'data[]={"email":"address2@domain.com","name":"contactName2"}'
在过去,我只是通过我的列表循环添加他们到我的营销邮件,我不真的在php工作,但这似乎工作:
$email_list = array ( '{"name":"Srinu","email":"srinivas@addpronetwork.com"}','{"name":"Pallavi","email" :"pallavi@addpronetwork.com"}');
$url = 'https://api.sendgrid.com/api/newsletter/lists/email/add.json';
foreach ($email_list as &$email) {
$params = array(
'list' => "my_list"),
'data[]' => $email,
'api_user' => "api_username",
'api_key' => "api_password",
);
$request = $url;
// Generate curl request
$session = curl_init($request);
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false);
// 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);
$obj = json_decode($response);
print_r($response);
希望这能让你振作起来!