Я установил следующее:
error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors', '1');
$file = date('YmdHis');
$fp = fopen('/var/www/mydir/files/'.$file.'.csv', 'w');
$url = 'http://sendgrid.com/';
$user = 'myuser';
$pass = 'mypass';
$to_emails = array(
'to' => array(
'[email protected]','[email protected]','[email protected]'
),
'category' => 'Test'
);
$fileName = $file;
$filePath = dirname(__FILE__);
$params = array(
'api_user' => $user,
'api_key' => $pass,
'x-smtpapi' => json_encode($to_emails),
//'to' => '[email protected]',
'subject' => 'Test email',
'html' => '<p>Testing sendgrid mail</p>',
'text' => 'sent',
'from' => '[email protected]',
'files['.$file.'.csv]' => '@'.$filePath.'/files/'.$fileName.'.csv'
);
print_r($params);
$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);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// obtain response
$response = curl_exec($session);
curl_close($session);
print_r($response);
//unlink('./files/'.$file.'.csv');
mysql_close($connect);
Проблема в том, что он не отправляет моим получателям в $to_emails
массив и выводит «отсутствует адресат электронной почты». Он выводит массив писем, которые я передаю, но он все еще ищет значение «to» в массиве — мне интересно, почему и как я могу решить? Я следовал насколько я могу видеть документацию Sendgrid — https://sendgrid.com/docs/Code_Examples/php.html.
Если я раскомментирую строку «to», она отправит электронное письмо на [email protected].
to
параметр в настоящее время всегда требуется даже если использовать SMTPAPI to
. Мы рекомендуем установить его на from
адрес. Если SMTPAPI to
присутствует, API будет игнорировать обычный to
параметр.
Пример, на который вы ссылаетесь, показывает оба to
а также x-smtpapi
параметры присутствующие и состояния
…электронное письмо будет отправлено на [email protected] и [email protected]. Обычный адрес, [email protected], не получит письмо.
Других решений пока нет …