Example #1
0
 public function sendmailqueueAction()
 {
     $mailModel = new MailModel();
     $queue = $mailModel->getMailQueue(100);
     if (count($queue)) {
         foreach ($queue as $item) {
             $mailModel->sendMailItem($item);
         }
     } else {
         $logger = new LoggerModel("/var/log/mp/mail-tiny4cocoa.log");
         $logger->log("empty");
     }
 }
Example #2
0
 public function sendMailItem($queueItem)
 {
     $fromMail = "*****@*****.**";
     $from = "noreply";
     if ($queueItem['frommail'] != "") {
         $fromMail = $queueItem['frommail'];
         $from = $queueItem['frommail'];
     }
     if (preg_match('/(.*)?<(.*)?>/im', $fromMail, $match)) {
         $fromMail = $match[2];
         $from = $match[1];
     }
     $mailItem = array("toMail" => $queueItem['email'], "to" => $queueItem['email'], "fromMail" => $fromMail, "from" => $from, "msgHTML" => $queueItem['content'], "altBody" => $queueItem['content'], "subject" => $queueItem['subject']);
     $sql = "";
     try {
         $this->begin($queueItem["server"]);
         if (!$this->send($mailItem)) {
             $errorInfo = $this->getErrorInfo();
         }
         $logger = new LoggerModel("/var/log/mp/mail-tiny4cocoa.log");
         $logger->log($queueItem["server"]);
         if (isset($errorInfo)) {
             $sql = "UPDATE mail_queue SET status = 2, errorMessage = '{$errorInfo}' WHERE id = " . $queueItem['id'];
             $logger->log($queueItem['id'] . ", fail, {$errorInfo}");
         } else {
             $sql = "UPDATE mail_queue SET status = 1 WHERE id = " . $queueItem['id'];
             $logger->log($queueItem['id'] . ", success");
         }
         $this->end();
     } catch (Exception $e) {
         $errorInfo = $e->getMessage();
         $sql = "UPDATE mail_queue SET status = 2, errorMessage = '{$errorInfo}' WHERE id = " . $queueItem['id'];
     }
     $this->run($sql);
 }