Example #1
0
 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;
 }