You are here

public static function HtmlMailMime::parse in HTML Mail 8.3

Same name and namespace in other branches
  1. 8 src/Utility/HTMLMailMime.php \Drupal\htmlmail\Utility\HTMLMailMime::parse()

Parse a complete message and return a HtmlMailMime object.

Parameters

string $message: The complete message, including headers and body.

\Drupal\Core\Logger\LoggerChannelFactoryInterface $logger: The logger service.

\Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface $mimeTypeGuesser: The mime type guesser service.

\Drupal\Core\File\FileSystemInterface $fileSystem: The file system service.

Return value

bool|\Drupal\htmlmail\Utility\HtmlMailMime FALSE if an error occurred; otherwise a new HtmlMailMime object containing the parsed message and its attachments, if any.

1 call to HtmlMailMime::parse()
HtmlMailSystem::formatMailMime in src/Plugin/Mail/HtmlMailSystem.php
Use the MailMime class to format the message body.

File

src/Utility/HtmlMailMime.php, line 477

Class

HtmlMailMime
Class HtmlMailMime.

Namespace

Drupal\htmlmail\Utility

Code

public static function &parse($message, LoggerChannelFactoryInterface $logger, MimeTypeGuesserInterface $mimeTypeGuesser, FileSystemInterface $fileSystem) {
  $decoder = new \Mail_mimeDecode($message);
  $decoded = $decoder
    ->decode([
    'decode_headers' => TRUE,
    'decode_bodies' => TRUE,
    'include_bodies' => TRUE,
    'rfc822_bodies' => TRUE,
  ]);
  if (!self::successful($decoded)) {
    return FALSE;
  }
  $parsed = new HtmlMailMime($logger, $mimeTypeGuesser, $fileSystem);
  self::parseDecoded($parsed, $decoded);
  return $parsed;
}