class WebformPhpMail in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Plugin/Mail/WebformPhpMail.php \Drupal\webform\Plugin\Mail\WebformPhpMail
Extend's the default Drupal mail backend to support HTML email.
Plugin annotation
@Mail(
id = "webform_php_mail",
label = @Translation("Webform PHP mailer"),
description = @Translation("Sends the message as plain text or HTML, using PHP's native mail() function.")
)
Hierarchy
- class \Drupal\Core\Mail\Plugin\Mail\PhpMail implements MailInterface
- class \Drupal\webform\Plugin\Mail\WebformPhpMail
Expanded class hierarchy of WebformPhpMail
File
- src/
Plugin/ Mail/ WebformPhpMail.php, line 17
Namespace
Drupal\webform\Plugin\MailView source
class WebformPhpMail extends PhpMail {
/**
* {@inheritdoc}
*/
public function format(array $message) {
// Join the body array into one string.
$message['body'] = implode("\n\n", $message['body']);
if (!empty($message['params']['html'])) {
// Wrap body in HTML template if the <html> tag is missing.
if (strpos($message['body'], '<html') === FALSE) {
// Make sure parameters exist.
$message['params'] += [
'webform_submission' => NULL,
'handler' => NULL,
];
$build = [
'#theme' => 'webform_email_html',
'#body' => $message['body'],
'#subject' => $message['subject'],
'#webform_submission' => $message['params']['webform_submission'],
'#handler' => $message['params']['handler'],
];
$message['body'] = \Drupal::service('renderer')
->renderPlain($build);
}
return $message;
}
else {
// Wrap the mail body for sending.
$message['body'] = MailFormatHelper::wrapMail($message['body']);
return $message;
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpMail:: |
protected | property | The configuration factory. | |
PhpMail:: |
public | function |
Sends an email message. Overrides MailInterface:: |
2 |
PhpMail:: |
private | constant | A list of headers that can contain multiple email addresses. | |
PhpMail:: |
protected static | function | Disallows potentially unsafe shell characters. | |
PhpMail:: |
public | function | PhpMail constructor. | |
WebformPhpMail:: |
public | function |
Concatenates and wraps the email body for plain-text mails. Overrides PhpMail:: |