function courier_system_mail_alter in Courier 8
Same name and namespace in other branches
- 2.x courier_system/courier_system.module \courier_system_mail_alter()
Implements hook_mail_alter().
File
- courier_system/
courier_system.module, line 32
Code
function courier_system_mail_alter(&$message) {
$mail_id = $message['id'];
$settings = \Drupal::config('courier_system.settings');
$override = $settings
->get('override');
if (!empty($override[$mail_id])) {
// Cancel sending.
$message['send'] = FALSE;
$gtc = GlobalTemplateCollection::load('courier_system.' . $mail_id);
if ($gtc) {
$template_collection = $gtc
->getTemplateCollection();
// _user_mail_notify() adds account param.
// Only valid for user.module mails.
/** @var \Drupal\Core\Session\AccountInterface $account */
$account = $message['params']['account'];
/** @var User $identity */
$identity = User::load($account
->id());
$template_collection
->setTokenValue('user', $identity)
->setTokenOption('callback', 'user_mail_tokens');
/** @var \Drupal\courier\Service\CourierManagerInterface $courier_manager */
$courier_manager = \Drupal::service('courier.manager');
$courier_manager
->sendMessage($template_collection, $identity);
}
}
}