Using multiple email address for posting mails from PHPMailer class

PHPMailer We may have a list of email address to which the common message should go. For this we will store all email address in an array and then we will loop through the array to add all emails to our outgoing address.

Let us say we have 5 address in an array
$address = array('user1@example.com','user2@example.com',
'user3@example.com','user4@example.com','user5@example.com');
We will follow the instruction given on how to display elements of an array to display all the address.

Above code is a sample to display all email address but our requirement is to add them to our mail outgoing list. You can see our mail posting script using PHPMailer class here. To this script we will add the array looping like this.
<?php

$bodytext=' This is the body of the test mail ';
$subject= 'plus2 Message Subject'.date(" H:i:s", time());
$address = array('user1@example.com','user2@example.com',
'user3@example.com','user4@example.com');

require_once('my_phpmailer/class.phpmailer.php');
$email = new PHPMailer();
$email->From = 'userid@exmple.com';
$email->FromName = 'Your Name';
$email->Subject   = $subject;
$email->Body      = $bodytext;

while (list ($key, $val) = each ($address)) {
$email->AddAddress($val);
}

if(!$email->send()) 
{
 echo "Mailer Error: " . $email->ErrorInfo;
} 
else 
{
 echo "Message has been sent successfully";
}
?>

Collecting email address from a table

Like above code we can collect all email address from a table and use them to send emails to all. You can read how to display data from table here. Same code we will use to add address to our phpmailer class.
$sql="select email from table_name ";
foreach ($dbo->query($sql) as $row) {
$email->AddAddress($row[email]);
}

Using BCC

You may not be interested to show all address to each member of your list, in such a case you can add BCC to each address. You can only change above line in respective AddAddress line.
$email->AddBCC($row[email]);//data taken from table
$email->AddBCC($val);//data taken from array

Example: Sending Emails with Multiple Attachments

require_once('my_phpmailer/class.phpmailer.php');

$mail = new PHPMailer();
$mail->addAddress('recipient@example.com');
$mail->Subject = 'Invoice';
$mail->Body    = 'Please find the attached invoices.';
$mail->addAttachment('/path/invoice1.pdf');
$mail->addAttachment('/path/invoice2.pdf');
$mail->send();

Example: Error Handling When Sending to Multiple Recipients

require_once('my_phpmailer/class.phpmailer.php');
$mail = new PHPMailer;
$recipients = ['recipient1@example.com', 'recipient2@example.com', 'recipient3@example.com'];
foreach($recipients as $email) {
    $mail->addAddress($email);
    if(!$mail->send()) {
        echo "Failed to send email to $email. Error: " . $mail->ErrorInfo;
    } else {
        echo "Email sent to $email.";
    }
    $mail->clearAddresses();  // Reset addresses after each send
}

PHP Mail PHPMailer class PHPMailer class using SMTP Feedback form to post visitor details to site admin by email PHP Ajax feedback form
Subscribe to our YouTube Channel here


Subscribe

* indicates required
Subscribe to plus2net

    plus2net.com







    Post your comments , suggestion , error , requirements etc here





    PHP video Tutorials
    We use cookies to improve your browsing experience. . Learn more
    HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
    ©2000-2024 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer