public function sendAction() { $render = $this->getServiceLocator()->get('Zend\\View\\Renderer\\PhpRenderer'); $headMeta = $render->headMeta(); // Thêm Http quiv ở vị trí đầu tiên $headMeta->prependHttpEquiv('Content-Type', 'text/html; charset=utf-8'); if (!empty($this->_arrParam['id'])) { $item = $this->getTable()->getItem($this->_arrParam, array('task' => 'get-item')); $config = new \ZendVN\Config\Config(); //Điều kiện gửi được chiến dịch là còn số lần gửi và chiến dịch đó đang hoạt động if ($config->limitSendEmailMarketing() - $item->count != 0 && $item->status == 1) { $arrEmail = explode(",", $item->email); $title = $item->name; $content = $this->_viewHelper->cmsReplaceString($item->content); //Thực hiện gửi mail foreach ($arrEmail as $email) { $mailService = $this->getServiceLocator()->get('AcMailer\\Service\\MailService'); $mailService->setSubject($title)->setBody($content); // This can be a string, HTML or even a zend\Mime\Message or a Zend\Mime\Part //kiem tra xem co file dinh kem khong /*if(!empty($item->file)){ $pathAttachment = UPLOAD_PATH .'/upload/email-attachment/'.$item->file;//duong dan file dinh kem $mailService->addAttachments(array( $pathAttachment, )); }*/ $message = $mailService->getMessage(); $message->addTo($email); $result = $mailService->send(); if ($result->isValid()) { $messages = 'Message sent. Congratulations!'; } else { if ($result->hasException()) { $messages = sprintf('An error occurred. Exception: \\n %s', $result->getException()->getTraceAsString()); } else { $messages = sprintf('An error occurred. Message: %s', $result->getMessage()); } } } //Cập nhật data //--------Lượt gửi------------------------------------------- $count = $item->count; if (empty($count)) { $add = 1; $data = array('id' => $item->id, 'count' => $add); $this->getTable()->saveItem($data, array('task' => 'edit')); } else { $add = $count + 1; $data = array('id' => $item->id, 'count' => $add); $this->getTable()->saveItem($data, array('task' => 'edit')); } $this->flashMessenger()->addSuccessMessage('Gửi chiến dịch email thành công'); } else { $this->flashMessenger()->addErrorMessage('Gửi chiến lược Email không hợp lệ'); } } $this->redirect()->toUrl('/admin/emailmarketing/'); return $this->getResponse(); }