/**
  * Prepare message content.
  * @param EmailMessage $emailMessage
  * @return string
  */
 public static function prepareMessageContent(EmailMessage $emailMessage)
 {
     $messageContent = null;
     if (!($emailMessage->hasErrors() || $emailMessage->hasSendError())) {
         $messageContent .= Zurmo::t('EmailMessagesModule', 'Message successfully sent') . "\n";
     } else {
         $messageContent .= Zurmo::t('EmailMessagesModule', 'Message failed to send') . "\n";
         if ($emailMessage->hasSendError()) {
             $messageContent .= $emailMessage->error . "\n";
         } else {
             //todo: refactor to use ZurmoHtml::errorSummary after this supports that method
             //todo: supports nested messages better.
             $errors = $emailMessage->getErrors();
             foreach ($errors as $attributeNameWithErrors) {
                 foreach ($attributeNameWithErrors as $attributeError) {
                     if (is_array($attributeError)) {
                         foreach ($attributeError as $nestedAttributeError) {
                             $messageContent .= reset($nestedAttributeError) . "\n";
                         }
                     } else {
                         $messageContent .= reset($attributeError) . "\n";
                     }
                 }
             }
         }
     }
     return $messageContent;
 }