public static function sendBatch(array $emails, $subject, $message) { if (empty($subject) || empty($msg) || empty($emails)) { return false; } $obj = new self(); $from = $obj->fromEmail; $fromName = $obj->fromName; require_once SITE_ROOT . "/php/lib/Swift.php"; require_once SITE_ROOT . "/php/lib/Swift/Connection/SMTP.php"; require_once SITE_ROOT . "/php/lib/Swift/RecipientList.php"; require_once SITE_ROOT . "/php/lib/Swift/BatchMailer.php"; try { //Start Swift $swift = new Swift(new Swift_Connection_SMTP(defined('SMTP_SERVER') ? SMTP_SERVER : '127.0.0.1:25')); //Create the message $message = new Swift_Message($subject, $msg); //customize names $recips = new Swift_RecipientList(); foreach ($emails as $email) { $recips->addTo($email); } $from = new Swift_Address($from, $fromName); //Now check if Swift actually sends it if ($swift->sendBatch($message, $recips, $from)) { $log = "sent mail to: " . var_export($emails, true) . "\n"; $ret = true; } } catch (Swift_ConnectionException $e) { $ret = false; $log = "There was a problem communicating with SMTP: " . $e->getMessage() . "\n"; } catch (Swift_Message_MimeException $e) { $ret = false; $log = "There was an unexpected problem building the email:" . $e->getMessage() . "\n"; } return $ret; }