2015-04-19 16:46:59 +02:00

135 lines
3.6 KiB
Plaintext

[1]Mail System
Provides an Administrative UI and Developers API for safely updating
the [2]mail_system configuration variable.
Administrative UI
The administrative interface is at admin/config/system/mailsystem. A
[3]screenshot is available.
Used by:
* [4]HTML Mail
* [5]Mime Mail 7.x-1.x-dev
* [6]Postmark 7.x-1.x
Developers API
A module example with a [7]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',
),
)
);
References
[8]drupal_mail_system() API documentation:
[9]api.drupal.org/api/drupal/includes--mail.inc/function/drupal_
mail_system/7
[10]MailSystemInterface API documentation:
[11]api.drupal.org/api/drupal/includes--mail.inc/interface/MailS
ystemInterface/7
[12]Creating HTML formatted mails in Drupal 7:
[13]drupal.org/node/900794
References
1. http://drupal.org/project/mailsystem
2. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/7
3. http://drupal.org/node/1134044
4. http://drupal.org/project/htmlmail
5. http://drupal.org/project/mimemail
6. http://drupal.org/project/postmark
7. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/7
8. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/7
9. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/7
10. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/7
11. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/7
12. http://drupal.org/node/900794
13. http://drupal.org/node/900794