I try to send email to multiple recipient but doesn’t work. It work when I only send it to one recipient. I put the email address in an array variable.
I put the email I get from database in array variable $dt
. Here is the $dt
contain
JavaScript
x
array(3) { [0]=> string(21) "a@gmail.com" [1]=> string(21) "b@gmail.com" [2]=> string(24) "c@gmail.com" }
I’ve try this one
JavaScript
//get email from database
$mail = $this->Hire_model->get_email_recruiter();
$dt = array();
for ($i=0; $i < (count($mail)-1) ; $i++) {
if ($mail[$i+1]['Email'] == '') {
$dt[$i] = 'hr.movement@gmail.com';
}else{
$dt[$i] = $mail[$i+1]['Email'];
}
}
//Load PHPMailer Library
$this->load->library('phpmailer_lib');
//PHPMailer object
$mail = $this->phpmailer_lib->load();
//SMTP configuration
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'hire.movement@gmail.com';
$mail->Password = '********';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('info@codexworld.com', 'KompasGramedia');
$mail->addReplyTo('info@example.com', 'KompasGramedia');
//Add a recipient
$mail->addAddress($dt);
// Email Subject
$requestor = $this->session->userdata('FullName');
$mail->Subject = 'Request Promotion by '.$requestor;
// Set email format to HTML
$mail->isHTML(true);
$mailContent = 'Messages';
$mail->Body = $mailContent;
// Send email
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}else{
echo 'Message has been sent';
}
I don’t know why its not work when I using more than 1 email recipient. Can anyone help me??
Advertisement
Answer
Try to add each mail recipient inside a loop, like this :
JavaScript
//get email from database
$mail = $this->Hire_model->get_email_recruiter();
$dt = array();
for ($i=0; $i < (count($mail)-1) ; $i++) {
if ($mail[$i+1]['Email'] == '') {
$dt[$i] = 'hr.movement@gmail.com';
}else{
$dt[$i] = $mail[$i+1]['Email'];
}
}
//Load PHPMailer Library
$this->load->library('phpmailer_lib');
//PHPMailer object
$mail = $this->phpmailer_lib->load();
//SMTP configuration
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'hire.movement@gmail.com';
$mail->Password = '********';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('info@codexworld.com', 'KompasGramedia');
$mail->addReplyTo('info@example.com', 'KompasGramedia');
//Add a recipient(s)
foreach($dt as $recipient) {
$mail->addAddress($recipient);
}
// Email Subject
$requestor = $this->session->userdata('FullName');
$mail->Subject = 'Request Promotion by '.$requestor;
// Set email format to HTML
$mail->isHTML(true);
$mailContent = 'Messages';
$mail->Body = $mailContent;
// Send email
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}else{
echo 'Message has been sent';
}