У меня есть этот код для отправки электронной почты нескольким получателям, который отлично работает со статическими данными
$subject = 'test';
include("mailjet/php-mailjet-v3.class.php");
$mj = new Mailjet( 'api', 'secret' );
$params = array(
"method" => "POST",
"FromEmail" => "[email protected]",
"FromName" => "sender name",
"Subject" => "subject here",
"Html-Part" => "<html><table><tr><td colspan='2'>message</td></tr></table></html>",
"Text-Part" => "message",
'Recipients' => [
[
'Email' => "[email protected]",
'Name' => "passenger 1"],
[
'Email' => "[email protected]",
'Name' => "passenger 2"]
]
);
$result = $mj->send($params);
echo $mj->_response_code; //200 success
но когда я использую динамические данные таким образом, я получаю ошибку 500 и электронное письмо не было отправлено
//an array of emails from the db
$user[] = '[email protected]';
$user[] = '[email protected]';
foreach ($user as $email){
$to .= "[
'Email' => '".$email."'
],";
}
и измените Получателей на:
'Recipients' => [ $to ]
когда я эхо $, чтобы я получил это
[ 'Email' => '[email protected]' ],[ 'Email' => '[email protected]' ],
Можете ли вы помочь мне найти ошибку в моем коде?
$to=[];
foreach ($emails as $email){
$to[] = [
'Email' => $email
];
}
"Recipients" => $to
Других решений пока нет …