/**
  * For testing only
  * @param string $subject
  * @param string $from
  * @param mixed(string || array) $to
  * @param string $textContent
  * @param string $htmlContent
  * @param mixed(string || array) $cc
  * @param mixed(string || array) $bcc
  * @param array $attachments
  * @param array $settings
  * @param array $headers
  * @param array $parts
  */
 public function sendRawEmail($subject, $from, $to, $textContent = '', $htmlContent = '', $cc = null, $bcc = null, $attachments = null, $settings = null, $headers = array(), $parts = array())
 {
     assert('is_string($subject) && $subject != ""');
     assert('is_string($from)    && $from != ""');
     assert('(is_array($to) && !empty($to)) || is_string($to) || !isset($to)');
     assert('is_string($textContent) || $textContent == null');
     assert('is_string($htmlContent) || $htmlContent == null');
     assert('(is_array($cc) && !empty($cc)) || is_string($cc) || !isset($cc)');
     assert('(is_array($bcc) && !empty($bcc)) || is_string($bcc) || !isset($bcc)');
     assert('isset($to) || isset($cc) || isset($bcc)');
     assert('is_array($attachments) || !isset($attachments)');
     assert('is_array($parts) || !isset($parts)');
     $toName = null;
     $toAddress = null;
     if (is_string($to)) {
         $toAddress = $to;
     } elseif (is_array($to)) {
         foreach ($to as $key => $value) {
             $toName = $key;
             $toAddress = $value;
         }
     }
     $emailMessage = EmailMessageTestHelper::createOutboxEmail(Yii::app()->user->userModel, $subject, $htmlContent, $textContent, null, $from, $toName, $toAddress, $cc, $bcc);
     $mailer = new ZurmoSwiftMailer($emailMessage, null);
     if (!empty($parts)) {
         $mailer->parts = $parts;
     }
     $mailer->From = $from;
     if (is_array($to) && !empty($to)) {
         foreach ($to as $recipientEmail) {
             $mailer->addAddressByType($recipientEmail, '', EmailMessageRecipient::TYPE_TO);
         }
     } elseif (is_string($to)) {
         $mailer->addAddressByType($to, '', EmailMessageRecipient::TYPE_TO);
     }
     if (is_array($cc) && !empty($cc)) {
         foreach ($cc as $recipientEmail) {
             $mailer->addAddressByType($recipientEmail, '', EmailMessageRecipient::TYPE_CC);
         }
     } elseif (is_string($cc)) {
         $mailer->addAddressByType($cc, '', EmailMessageRecipient::TYPE_CC);
     }
     if (is_array($bcc) && !empty($bcc)) {
         foreach ($bcc as $recipientEmail) {
             $mailer->addAddressByType($recipientEmail, '', EmailMessageRecipient::TYPE_BCC);
         }
     } elseif (is_string($bcc)) {
         $mailer->addAddressByType($bcc, '', EmailMessageRecipient::TYPE_BCC);
     }
     if (isset($attachments) && !empty($attachments)) {
         foreach ($attachments as $file) {
             $mailer->attachFromPath($file);
         }
     }
     $mailer->headers = $headers;
     $acceptedRecipients = $mailer->send();
     if ($acceptedRecipients > 0) {
         // Do nothing
     } else {
         // To-Do: make exception or something else
         echo "There was error while sending email";
     }
 }