Bachir Soussi Chiadmi e08a2639c6 updated mailgun, mailsystem, honeypot, googleanalitycs, features, content_taxonomy 5 years ago
..
LICENSE.txt f2b8ace9b7 FINAL suepr merge step : added all modules to this super repos 9 years ago
README.html f2b8ace9b7 FINAL suepr merge step : added all modules to this super repos 9 years ago
README.markdown f2b8ace9b7 FINAL suepr merge step : added all modules to this super repos 9 years ago
README.txt f2b8ace9b7 FINAL suepr merge step : added all modules to this super repos 9 years ago
html_to_text.inc e08a2639c6 updated mailgun, mailsystem, honeypot, googleanalitycs, features, content_taxonomy 5 years ago
mailsystem.admin.inc e08a2639c6 updated mailgun, mailsystem, honeypot, googleanalitycs, features, content_taxonomy 5 years ago
mailsystem.info e08a2639c6 updated mailgun, mailsystem, honeypot, googleanalitycs, features, content_taxonomy 5 years ago
mailsystem.module e08a2639c6 updated mailgun, mailsystem, honeypot, googleanalitycs, features, content_taxonomy 5 years ago
mailsystem.theme.inc e08a2639c6 updated mailgun, mailsystem, honeypot, googleanalitycs, features, content_taxonomy 5 years ago

README.html

Mail System


Provides an Administrative UI and Developers API for safely updating the mail_system configuration variable.


Administrative UI


The administrative interface is at admin/config/system/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',
),
)
);


References



drupal_mail_system() API documentation:


api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/7



MailSystemInterface API documentation:


api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/7



Creating HTML formatted mails in Drupal 7:


drupal.org/node/900794