You are here

public function SwiftMailerHtml::massageMessageBody in Swift Mailer Force HTML 8

Massages the message body into the format expected for rendering.

Parameters

array $message: The message.

Return value

array The massaged message.

File

src/Plugin/Mail/SwiftMailerHtml.php, line 29

Class

SwiftMailerHtml
Provides a 'SwiftMailer (Force HTML)' plugin to send emails.

Namespace

Drupal\swiftmailer_force_html\Plugin\Mail

Code

public function massageMessageBody(array $message) {

  // @see: SwiftMailer::massageMessageBody()
  $line_endings = Settings::get('mail_line_endings', PHP_EOL);
  $message['body'] = Markup::create(implode($line_endings, array_map(function ($body) {

    // If the field contains no html tags,
    // we can assume newlines will need be converted to <br>.
    if (strlen(strip_tags($body)) === strlen($body)) {
      $body = nl2br($body);
    }
    return check_markup($body, 'full_html');
  }, $message['body'])));
  return $message;
}