static function sendQueuedEmails() { $date = DateTimeValueLib::now(); $date->add("d", -2); $emails = QueuedEmails::getQueuedEmails($date); if (count($emails) <= 0) { return 0; } Env::useLibrary('swift'); $mailer = self::getMailer(); if (!$mailer instanceof Swift_Mailer) { throw new NotifierConnectionError(); } // if $fromSMTP = config_option("mail_transport", self::MAIL_TRANSPORT_MAIL) == self::MAIL_TRANSPORT_SMTP && config_option("smtp_authenticate", false); $count = 0; foreach ($emails as $email) { try { $body = $email->getBody(); $subject = $email->getSubject(); Hook::fire('notifier_email_body', $body, $body); Hook::fire('notifier_email_subject', $subject, $subject); if ($fromSMTP && config_option("smtp_address")) { $pos = strrpos($email->getFrom(), "<"); if ($pos !== false) { $sender_name = trim(substr($email->getFrom(), 0, $pos)); } else { $sender_name = ""; } $from = array(config_option("smtp_address") => $sender_name); } else { $pos = strrpos($email->getFrom(), "<"); if ($pos !== false) { $sender_name = trim(substr($email->getFrom(), 0, $pos)); $sender_address = str_replace(array("<", ">"), array("", ""), trim(substr($email->getFrom(), $pos, strlen($email->getFrom()) - 1))); } else { $sender_name = ""; $sender_address = $email->getFrom(); } $from = array($sender_address => $sender_name); } $message = Swift_Message::newInstance($subject)->setFrom($from)->setBody($body)->setContentType('text/html'); $to = MailUtilities::prepareEmailAddresses(implode(",", explode(";", $email->getTo()))); foreach ($to as $address) { $message->addTo(array_var($address, 0), array_var($address, 1)); } $result = $mailer->send($message); $email->delete(); $count++; } catch (Exception $e) { Logger::log('There has been a problem when sending the Queued emails. Problem:' . $e->getTraceAsString()); } } return $count; }