Swiftmailer Destinatarios MySQL - PullRequest
       14

Swiftmailer Destinatarios MySQL

0 голосов
/ 22 мая 2019

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

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

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

<?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);

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

1 Ответ

0 голосов
/ 22 мая 2019
<?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);

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

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