Phpmailer gibt uns die Möglichkeit mehrere Mails mit einer Instanz zu versenden. Hier muss darauf geachtet werden, das die function clearAllRecipients aufgerufen werden. Die Funktion löscht alle im addAddress gelisteten E-mail Adressen. Hier ein Beispiel einer phpmailer instanz.
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->CharSet = 'UTF-8';
$mail->isSMTP(); // Send using SMTP
$mail->Host = 'deinMailHoster';
$mail->SMTPAuth = true;
$mail->Username = 'Username';
$mail->Password = 'Passwort';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->setFrom('test@testmail.com');
$mail->addAddress('service@testmail.com');
$customerName = strip_tags(trim($_POST['userName']));
$email = strip_tags(trim($_POST['Email']));
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = "Hier kommt dann der Text für den Email Body rein";
$mail->send();
// Hier kommt die Konfiguration für die Zeite Mail.
// Die Empfänger werden alle auf null gesetzt
$mail->clearAllRecipients();
$mail->isHTML(true);
$mail->addAddress($second_email);
$mail->Subject = $subject;
// Pfad angeben für das hinterlegte Email template
$mailer_template = 'mailer-template/content-mail.php';
// Liest die gesamte datei in einen STring.
$template = file_get_contents($mailer_template);
// der mail wir der eingelesene String
// übergeben und in html gewandelt.
$mail>msgHTML($template);
// die zweite mail mit anderen Inhalt wir an
// einen zweiten neuen Recipient versendet.
$mail->send();
}catch(Exception $e){
echo "Mailer Error {$mail->ErrorInfo}";
$result = "Error";
}