Exemple #1
0
 /**
  * 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;
 }