function system_send_email_action in Drupal 7
Same name and namespace in other branches
- 6 modules/system/system.module \system_send_email_action()
Sends an e-mail message.
Parameters
object $entity: An optional node object, which will be added as $context['node'] if provided.
array $context: Array with the following elements:
- 'recipient': E-mail message recipient. This will be passed through token_replace().
- 'subject': The subject of the message. This will be passed through token_replace().
- 'message': The message to send. This will be passed through token_replace().
- Other elements will be used as the data for token replacement.
Related topics
1 string reference to 'system_send_email_action'
- TriggerActionTestCase::assignSystemEmailAction in modules/
trigger/ trigger.test - Assigns a system_send_email_action to the passed-in trigger.
File
- modules/
system/ system.module, line 3263 - Configuration system that lets administrators modify the workings of the site.
Code
function system_send_email_action($entity, $context) {
if (empty($context['node'])) {
$context['node'] = $entity;
}
$recipient = token_replace($context['recipient'], $context);
// If the recipient is a registered user with a language preference, use
// the recipient's preferred language. Otherwise, use the system default
// language.
$recipient_account = user_load_by_mail($recipient);
if ($recipient_account) {
$language = user_preferred_language($recipient_account);
}
else {
$language = language_default();
}
$params = array(
'context' => $context,
);
if (drupal_mail('system', 'action_send_email', $recipient, $language, $params)) {
watchdog('action', 'Sent email to %recipient', array(
'%recipient' => $recipient,
));
}
else {
watchdog('error', 'Unable to send email to %recipient', array(
'%recipient' => $recipient,
));
}
}