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