Отправитель Swiftmailer mysql

Мне нужно отправить несколько электронных писем, хранящихся в базе данных mysql, с помощью phpmailer, но когда я хочу выполнить его, он возвращает ошибку 500 страниц, я понимаю, что проблема заключается в том, когда я ввожу данные внутри:

->setTo(["'".$row['email']."'" => "'".$row['nombre']."'"])

Я уточняю, что все работает идеально, только когда я ввожу переменную любого типа или вызываю БД внутри: -> setTo(["'". $ row [' электронная почта ']. "'" => "'". $ row [' имя ']. "'"]) Он возвращает ошибку. Это мой полный код:

<?php 
include ('../db.php');
$query =$db->query("SELECT id, email, status, nombre, enviados FROM 
contactos WHERE email='example@gmail.com' OR 
email='example@icloud.com'");
require_once './vendor/autoload.php';
// Create the Transport
$transport = (new Swift_SmtpTransport('smtp.hostinger.com.ar', 
587))
->setUsername('example@example.com')
->setPassword('example')
   ;

 // Create the Mailer using your created Transport
 $mailer = new Swift_Mailer($transport);

 // Create a message
 $message = (new Swift_Message('msm'))
  ->setFrom(['example@example.com' => 'John Doe'])

 $datos_seleccionados = [];
  while($row = mysqli_fetch_array($query))
  {
   ->setTo(["'".$row['email']."'" => "'".$row['nombre']."'"])

   }
   ->setBody('INTENTO')
   ;
   // Send the message
   $result = $mailer->send($message);

Мне нужно, чтобы я взял несколько получателей, хранящихся в моей базе данных.

Ошибка 500 — это общее сообщение об ошибке, которое охватывает почти все, что может пойти не так в сценарии. Проверьте журналы ошибок вашего сервера, чтобы узнать точное сообщение об ошибке.

aynber 22.05.2019 16:19

Кроме того, ни одна из дополнительных кавычек в цитируемой вами строке не требуется. >setTo([$row['email'] =>$row['nombre']]) в порядке

aynber 22.05.2019 16:20
->setTo недопустимый синтаксис - вам нужен экземпляр объекта перед ->, чтобы иметь возможность вызывать метод объекта. Вероятно, это должно быть просто $message->setTo(…), и, конечно же, то же самое для setBody. Вы должны прочитать некоторые основы синтаксиса — изобретение собственного обычно не приведет вас к успеху.
04FS 22.05.2019 16:26
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
3
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
<?php 
include ('../db.php');
$query =$db->query("SELECT id, email, status, nombre, enviados FROM 
contactos WHERE email='example@gmail.com' OR 
email='example@icloud.com'");
require_once './vendor/autoload.php';
// Create the Transport
$transport = (new Swift_SmtpTransport('smtp.hostinger.com.ar', 
587))
->setUsername('example@example.com')
->setPassword('example')
   ;

 // Create the Mailer using your created Transport
 $mailer = new Swift_Mailer($transport);



 $datos_seleccionados = [];
$toEmailList=[];
  while($row = mysqli_fetch_array($query))
  {
    $toEmailList[$row['email']]=$row['nombre'];

   }
 // Create a message
 $message = (new Swift_Message('msm'))->setFrom(['example@example.com' => 'John Doe'])->setTo($toEmailList)->setBody('INTENTO');
   // Send the message
   $result = $mailer->send($message);

Проблема с вашим кодом в том, что вы пытаетесь объединить ключ и значение. Вы должны вызвать все функции сразу. Спасибо

Пожалуйста, объясните, что вы изменили и почему, чтобы другие могли узнать из вашего ответа.

Nico Haase 22.05.2019 16:48

[22-May-2019 15:08:46 UTC] Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданное «пока» (T_WHILE) в /home/u257235474/domains/flapeer.com/public_html/emailsempre‌​sas/email/email2.php в строке 23

tomas 22.05.2019 17:09

Arrglado, удалите переменную раньше времени, СПАСИБО

tomas 22.05.2019 17:11

Другие вопросы по теме