protected function EmailHandler::generateEmailParams in Easy Email 8
Same name and namespace in other branches
- 2.0.x src/Service/EmailHandler.php \Drupal\easy_email\Service\EmailHandler::generateEmailParams()
Parameters
\Drupal\easy_email\Entity\EasyEmailInterface $email:
array $params:
Return value
array
2 calls to EmailHandler::generateEmailParams()
- EmailHandler::preview in src/
Service/ EmailHandler.php - @inheritDoc
- EmailHandler::sendEmail in src/
Service/ EmailHandler.php - @inheritDoc
File
- src/
Service/ EmailHandler.php, line 298
Class
Namespace
Drupal\easy_email\ServiceCode
protected function generateEmailParams(EasyEmailInterface $email, $params = []) {
$headers = [
'Content-Transfer-Encoding' => '8Bit',
];
$from = $email
->getFromAddress();
if (!empty($from) && !empty($email
->getFromName())) {
$from = $email
->getFromName() . ' <' . $from . '>';
}
if (!empty($from)) {
$headers += [
'From' => $from,
];
}
// Determine which versions of the body text we need to make
if ($email
->hasField('body_html') && $email
->hasField('body_plain')) {
$headers['Content-Type'] = 'text/html; charset=UTF-8;';
if ($this
->shouldGeneratePlainBody($email)) {
// We have HTML and need generate plain body text.
$body = $this
->buildHtmlBody($email);
//$body_without_inbox = $body['body'];
$params['body'] = $body;
//$this->renderInNewContext($body);
$params['convert'] = TRUE;
//$converter = new Html2Text($this->renderInNewContext($body_without_inbox));
//$params['plain'] = trim($converter->getText());
}
else {
// We have HTML and plain body text.
$params['body'] = $this
->buildHtmlBody($email);
//$this->renderInNewContext();
$params['plain'] = $this
->buildPlainBody($email);
//$this->renderInNewContext(, TRUE);
}
}
elseif ($email
->hasField('body_html')) {
// We have only HTML body text
$headers['Content-Type'] = 'text/html; charset=UTF-8;';
$params['body'] = $this
->buildHtmlBody($email);
//$this->renderInNewContext();
}
elseif ($email
->hasField('body_plain')) {
// We have only plain body text
$headers['Content-Type'] = 'text/plain; charset=UTF-8';
$params['body'] = $this
->buildPlainBody($email);
//$this->renderInNewContext(, TRUE);
}
else {
// No body: ¯\_(ツ)_/¯
}
$cc = $email
->getCCAddresses();
if (!empty($cc)) {
$headers['Cc'] = implode(', ', $cc);
}
$bcc = $email
->getBCCAddresses();
if (!empty($bcc)) {
$headers['Bcc'] = implode(', ', $bcc);
}
if (!empty($params['headers'])) {
$headers += $params['headers'];
}
$params += [
'headers' => $headers,
'subject' => $email
->getSubject(),
];
$params['easy_email'] = TRUE;
return $params;
}