/** * Adds an email to the queue. * @param type $recipient Recipient's email address. * @param type $emailSubject Email subject. * @param type $emailText Email text. * @param type $headers Email headers. * @return boolean On success, returns true. */ public static function addMail($recipient, $emailSubject, $emailText) { // Format email headers $emailFrom = "no-reply@" . Yii::app()->request->serverName; $headers = "From: {$emailFrom}\r\nReply-To: {$emailFrom}"; // Create new email item $queueItem = new MailQueue(); $queueItem->recipient = $recipient; $queueItem->email_subject = $emailSubject; $queueItem->email_body = $emailText; $queueItem->email_headers = $headers; $queueItem->create_time = time(); $queueItem->status = self::STATUS_PENDING; // Save an item to queue if (!$queueItem->save()) { // Error $errors = $queueItem->getErrors(); foreach ($errors as $fieldName => $fieldErrors) { foreach ($fieldErrors as $error) { Yii::log('Error adding email to queue: ' . $error, 'error'); } } return false; } // OK return true; }
public function addMailQueue($message, $from_email, $from_name, $to_email, $subject) { $queue = new MailQueue(); $queue->from_email = $from_email; $queue->from_name = $from_name; $queue->to_email = $to_email; $queue->subject = $subject; $queue->message = $message; $queue->date_published = time(); $queue->attempts = 0; $queue->max_attempts = 5; $queue->success = 0; if ($queue->save(FALSE)) { return TRUE; } return FALSE; }
public function sendIssue($issue, $to, $message) { $routing = sfContext::getInstance()->getRouting(); $issue_url = $routing->generate('issues_show', $issue, true); $mail = new MailQueue(); $mail->setSubject("Amaranto issue #{$issue->id}: {$issue->title}"); $mail->addTo($to); $mail->setBody(<<<EOF {$message}: Id: {$issue->id} Title: {$issue->title} Project: {$issue->Project} Priority: {$issue->Priority} Opened by: {$issue->OpenedBy} You can see this issue at: {$issue_url} EOF ); $mail->save(); }
public function queueUsers($sendout) { foreach ($this->getListUsers() as $user) { $itm = new MailQueue(); $itm->setUser($user->getId()); $itm->setSendOut($sendout->getId()); $itm->save(); } }