使用SendGrid(PHP)为CC参数设置多个电子邮件地址


Setting multiple email address for CC param with SendGrid (PHP)

我正试图将抄送添加到多人的电子邮件中。我在文档中看到,如果我创建了一个带有电子邮件地址的数组,抄送将被附加,但这是不成功的。

这是我必须发送的CC电子邮件

$cc = array('email3@123.net', 'email4@123.net');
$params = array(
        'api_user'  => $user,
        'api_key'   => $password,
        'to'        => "email@123.net",                     
        'toname'    => 'To Name',
        'bcc'       => 'email2@123.net',
        'subject'   => $subject,
        'html'      => $content,
        'from'      => $from,
        'fromname'  => $fromname,
    );
    if(!empty($cc)){
        $params['cc'] =  json_encode($cc);
    }
    $url = $sendGrilUrl; 
    $request =  $url.'api/mail.send.json';
    $session = curl_init($request);
    curl_setopt($session, CURLOPT_POST, true);
    curl_setopt($session, CURLOPT_POSTFIELDS, $params);
    curl_setopt($session, CURLOPT_HEADER, false);
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($session);
    curl_close($session);           
    $response = json_decode($response);

当我使用此方法时,我从SendGrid收到一个错误,上面写着"无效的电子邮件地址"。

我已经尝试了这个链接提供的方法。电子邮件被发送了,但它按原样打印字符串,没有吸引力。

如果需要更多细节,请告诉我。

您必须将电子邮件作为数组值传递,如cc[0]、cc[1]等

 $params = array(
    'api_user'  => $user,
    'api_key'   => $password,
    'to'        => "email@123.net",                     
    'toname'    => 'To Name',
    'bcc'       => 'email2@123.net',
    'cc[0]'     => 'email3@123.net',
    'cc[1]'     => 'email4@123.net',
    'subject'   => $subject,
    'html'      => $content,
    'from'      => $from,
    'fromname'  => $fromname,
);

$url = $sendGrilUrl; 
$request =  $url.'api/mail.send.json';
$session = curl_init($request);
curl_setopt($session, CURLOPT_POST, true);
curl_setopt($session, CURLOPT_POSTFIELDS, $params);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
curl_close($session);           
$response = json_decode($response);

现在应该可以了!:(