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"; }