Пакет Отправить письмо с SwiftMailer

В настоящее время я использую SwiftMailer для отправки электронной почты нескольким пользователям (до 50). Я настроил его и работал нормально, однако я не совсем уверен, как вытащить получателей из моей базы данных MySQL и повторить их, чтобы отправить их.

Вот что я сейчас имею:

<?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); 

Как вы можете видеть выше, в setTo я хотел бы перебирать своих пользователей в базе данных. Что-то вроде:

SELECT first, last, email FROM users WHERE is_active=1

В документации указано:

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.

Но я не уверен: 1: Как выбрать из моей базы дат в этом скрипте и: 2: Если мне понадобится использовать метод addTo () в моем случае. Любые предложения по правильному настройке?

Благодаря!

Я не совсем уверен, что правильно понял ваш вопрос, но вот способ сделать это:

 <?php $message = Swift_Message::newInstance() ->setSubject('Let\'s get together today.') ->setFrom(array('myfrom@domain.com' => 'From Me')) ->setBody('Here is the message itself') ->addPart('<b>Test message being sent!!</b>', 'text/html') ; $data = mysql_query('SELECT first, last, email FROM users WHERE is_active=1') or die(mysql_error()); while($row = mysql_fetch_assoc($data)) { $message->addTo($row['email'], $row['first'] . ' ' . $row['last']); } $message->batchSend(); ?> 

Надеюсь, это то, что вы хотели.