| Download | Size | md5 hash |
|---|---|---|
| mailsystem-6.x-2.34.tar.gz | 26.78 KB | dc263aaa550342e1757a58a502a42826 |
| mailsystem-6.x-2.34.zip | 30.72 KB | 4b384e391c904231ac7d44d784993122 |
Release notes
Mail System
Provides an Administrative UI and Developers API for safely updating the mail_system configuration variable.
The 6.x branch also provides a Drupal-6 backport of the Drupal-7 mail system.
(New) Requirement
Administrative UI
The administrative interface is at admin/settings/mailsystem. A screenshot is available.
Used by:
Developers API
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' => ''));
}(New in 2.x branch)
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',
),
)
);