我正在尝试将CC添加到多人的电子邮件中。我在documentation中看到,如果我创建一个带有电子邮件地址的数组,那么cc将附加,但这是不成功的。
这是我发送CC电子邮件的原因
$cc = array('[email protected]', '[email protected]');
$params = array(
'api_user' => $user,
'api_key' => $password,
'to' => "[email protected]",
'toname' => 'To Name',
'bcc' => '[email protected]',
'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的错误,指出“电子邮件地址无效”。
我尝试过这个link提供的方法。电子邮件被发送但它按原样打印字符串并且没有吸引力。
非常感谢一些帮助,如果需要更多细节,请告诉我。
您必须将电子邮件作为数组值传递,如cc [0],cc [1]等。请尝试以下代码段:
$params = array(
'api_user' => $user,
'api_key' => $password,
'to' => "[email protected]",
'toname' => 'To Name',
'bcc' => '[email protected]',
'cc[0]' => '[email protected]',
'cc[1]' => '[email protected]',
'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);
这应该工作了! :)