How can PHP be used to efficiently send emails to a large number of recipients?

When sending emails to a large number of recipients in PHP, it is important to use a bulk email sending method to ensure efficiency and avoid performance issues. One way to achieve this is by utilizing a library like PHPMailer or using an email service provider (ESP) such as SendGrid or Amazon SES. By batching the emails and sending them in smaller groups, you can prevent server timeouts and ensure that all recipients receive the emails successfully.

// Example using PHPMailer library to send emails to multiple recipients efficiently

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php'; // Include PHPMailer autoload file

// Instantiate PHPMailer
$mail = new PHPMailer(true);

// Set up SMTP
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your_smtp_username';
$mail->Password = 'your_smtp_password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

// Set email parameters
$mail->setFrom('from@example.com', 'Your Name');
$mail->Subject = 'Subject of the email';
$mail->isHTML(true);
$mail->Body = 'Email body content';

// List of recipients
$recipients = ['recipient1@example.com', 'recipient2@example.com', 'recipient3@example.com'];

// Send emails to recipients
foreach ($recipients as $recipient) {
    $mail->addAddress($recipient);
    $mail->send();
    $mail->clearAddresses();
}