| Name | Last modified | Size | Description | |
|---|---|---|---|---|
| Parent Directory | - | |||
| LICENSE.txt | 2014-09-23 21:24 | 18K | ||
| README.html | 2016-06-18 13:03 | 4.5K | ||
| README.markdown | 2016-06-18 13:03 | 3.7K | ||
| README.txt | 2016-06-18 13:03 | 3.6K | ||
| composer.json | 2016-06-18 13:03 | 178 | ||
| config/ | 2016-06-18 13:03 | - | ||
| html_to_text.inc | 2016-06-18 13:03 | 25K | ||
| mailsystem.info.yml | 2016-07-08 18:02 | 370 | ||
| mailsystem.links.menu.yml | 2016-06-18 13:03 | 178 | ||
| mailsystem.module | 2016-06-18 13:03 | 1.2K | ||
| mailsystem.permissions.yml | 2016-06-18 13:03 | 188 | ||
| mailsystem.routing.yml | 2016-06-18 13:03 | 218 | ||
| src/ | 2016-06-18 13:03 | - | ||
| tests/ | 2016-06-18 13:03 | - | ||
Provides an Administrative UI and Developers API for safely updating the mail_system configuration variable.
The administrative interface is at admin/config/system/mailsystem. A screenshot is available.
A module example with a MailSystemInterface implementation called ExampleMailSystem should add the following in its example.install file:
/**
* Implements hook_enable().
*/
function example_enable() {
mailsystem_set(array('example' => 'ExampleMailSystem'));
}
/**
* Implements hook_disable().
*/
function example_disable() {
mailsystem_clear(array('example' => 'ExampleMailSystem'));
}
The above settings allow mail sent by example to use ExampleMailSystem. To make ExampleMailSystem the site-wide default for sending mail:
mailsystem_set(array(mailsystem_default_id() => 'ExampleMailSystem'));
To restore the default mail system:
mailsystem_set(array(mailsystem_default_id() => mailsystem_default_value()));
Or simply:
mailsystem_set(mailsystem_defaults());
If module example relies on dependency foo and its FooMailSystem class, then the example.install code should like like this:
/**
* Implements hook_enable().
*/
function example_enable() {
mailsystem_set(array('example' => 'FooMailSystem'));
}
/**
* Implements hook_disable().
*/
function example_disable() {
mailsystem_clear(array('example' => ''));
}
If module example only wants to use FooMailSystem when sending emails with a key of examail, then the example.install code should look like this:
/**
* Implements hook_enable().
*/
function example_enable() {
mailsystem_set(array('example_examail' => 'FooMailSystem'));
}
/**
* Implements hook_disable().
*/
function example_disable() {
mailsystem_clear(array('example_examail' => ''));
}
To change the site-wide defaults to use the FooMailSystem for formatting messages and the BarMailSystem for sending them:
mailsystem_set(
array(
mailsystem_default_id() => array(
'format' => 'FooMailSystem',
'mail' => 'BarMailSystem',
),
)
);
To change the site-wide defaults to use the FooMailSystem for sending messages, while continuing to use the current system for formatting them:
mailsystem_set(
array(
mailsystem_default_id() => array(
'mail' => 'FooMailsystem',
),
)
);
drupal_mail_system() API documentation:api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system
MailSystemInterface API documentation:api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface