Ich verwende derzeit SwiftMailer um E-Mails an mehrere Benutzer (bis zu 50) zu versenden. Ich habe es einrichten und arbeiten richtig, aber ich bin nicht ganz sicher, wie die Empfänger aus meiner MySQL-Datenbank zu ziehen und iterieren, um sie zu senden.
Hier ist, was ich derzeit habe:
<?php
require_once 'swift/lib/swift_required.php';
$mailer = Swift_Mailer::newInstance(
Swift_SmtpTransport::newInstance('smtp.connection.com', 25)
->setUsername('myUserName')
->setPassword('myPassword')
);
$mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(9));
$message = Swift_Message::newInstance()
->setSubject('Let\'s get together today.')
->setFrom(array('myfrom@domain.com' => 'From Me'))
->setTo(array('tom_jones@domain.com' => 'Tom Jones', 'jsmith@domain.com' => 'Jane Smith', 'j_doe@domain.com' => 'John Doe', 'bill_watson@domain.com' => 'Bill Watson',))
->setBody('Here is the message itself')
->addPart('<b>Test message being sent!!</b>', 'text/html')
;
$numSent = $mailer->batchSend($message, $failures);
printf("Sent %d messages\n", $numSent);
Wie Sie oben sehen können, möchte ich in setTo von meinen Benutzern in der Datenbank iterieren. Etwas wie:
SELECT first, last, email FROM users WHERE is_active=1
El Dokumentation Staaten:
Note: Multiple calls to setTo() will not add new recipients – each call overrides the previous calls. If you want to iteratively add recipients, use the addTo() method.
Aber ich bin mir nicht sicher: 1: Wie kann ich in diesem Skript aus meiner Datenbank auswählen und: 2: Wenn ich in meinem Fall die Methode addTo() verwenden müsste. Irgendwelche Vorschläge, wie man das richtig einrichtet?
Merci !