I need to send multiple emails stored in a mysql database with phpmailer, but when I want to execute it it returns a 500 page error, I understand that the problem is when I enter the data inside:
->setTo(["'".$row['email']."'" => "'".$row['nombre']."'"])
I clarify that everything works perfect, only that when I enter any type of variable or call to the db within the: -> setTo (["'". $ row [' email ']. "'" => "'". $ row [' name ']. "'"]) It returns an error. This is my complete code:
<?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);
What I need is for me to take multiple recipients stored in my database
<?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);
Problem with your code is you are trying to concat key and value. You have to call all the function at once. Thanks