You are here

README.txt in Mail System 8.4

[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(['example' => 'ExampleMailSystem']);
}
/**
 * Implements hook_disable().
 */
function example_disable() {
  mailsystem_clear(['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([mailsystem_default_id() => 'ExampleMailSystem']);


   To restore the default mail system:
mailsystem_set([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(['example' => 'FooMailSystem']);
}
/**
 * Implements hook_disable().
 */
function example_disable() {
  mailsystem_clear(['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(['example_examail' => 'FooMailSystem']);
}
/**
 * Implements hook_disable().
 */
function example_disable() {
  mailsystem_clear(['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(
  [
    mailsystem_default_id() => [
      '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(
  [
    mailsystem_default_id() => [
      'mail' => 'FooMailsystem',
    ],
  ]
);


  References

   [8]drupal_mail_system() API documentation:
          [9]api.drupal.org/api/drupal/includes--mail.inc/function/drupal_
          mail_system

   [10]MailSystemInterface API documentation:
          [11]api.drupal.org/api/drupal/includes--mail.inc/interface/MailS
          ystemInterface

   [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/8
   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/8
   8. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/8
   9. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/8
  10. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/8
  11. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/8
  12. http://drupal.org/node/900794
  13. http://drupal.org/node/900794

File

README.txt
View source
  1. [1]Mail System
  2. Provides an Administrative UI and Developers API for safely updating
  3. the [2]mail_system configuration variable.
  4. Administrative UI
  5. The administrative interface is at admin/config/system/mailsystem. A
  6. [3]screenshot is available.
  7. Used by:
  8. * [4]HTML Mail
  9. * [5]Mime Mail 7.x-1.x-dev
  10. * [6]Postmark 7.x-1.x
  11. Developers API
  12. A module example with a [7]MailSystemInterface implementation called
  13. ExampleMailSystem should add the following in its example.install file:
  14. /**
  15. * Implements hook_enable().
  16. */
  17. function example_enable() {
  18. mailsystem_set(['example' => 'ExampleMailSystem']);
  19. }
  20. /**
  21. * Implements hook_disable().
  22. */
  23. function example_disable() {
  24. mailsystem_clear(['example' => 'ExampleMailSystem']);
  25. }
  26. The above settings allow mail sent by example to use ExampleMailSystem.
  27. To make ExampleMailSystem the site-wide default for sending mail:
  28. mailsystem_set([mailsystem_default_id() => 'ExampleMailSystem']);
  29. To restore the default mail system:
  30. mailsystem_set([mailsystem_default_id() => mailsystem_default_value()]);
  31. Or simply:
  32. mailsystem_set(mailsystem_defaults());
  33. If module example relies on dependency foo and its FooMailSystem class,
  34. then the example.install code should like like this:
  35. /**
  36. * Implements hook_enable().
  37. */
  38. function example_enable() {
  39. mailsystem_set(['example' => 'FooMailSystem']);
  40. }
  41. /**
  42. * Implements hook_disable().
  43. */
  44. function example_disable() {
  45. mailsystem_clear(['example' => '']);
  46. }
  47. If module example only wants to use FooMailSystem when sending emails
  48. with a key of examail, then the example.install code should look like
  49. this:
  50. /**
  51. * Implements hook_enable().
  52. */
  53. function example_enable() {
  54. mailsystem_set(['example_examail' => 'FooMailSystem']);
  55. }
  56. /**
  57. * Implements hook_disable().
  58. */
  59. function example_disable() {
  60. mailsystem_clear(['example_examail' => '']);
  61. }
  62. (New in 2.x branch)
  63. To change the site-wide defaults to use the FooMailSystem for
  64. formatting messages and the BarMailSystem for sending them:
  65. mailsystem_set(
  66. [
  67. mailsystem_default_id() => [
  68. 'format' => 'FooMailSystem',
  69. 'mail' => 'BarMailSystem',
  70. ],
  71. ]
  72. );
  73. To change the site-wide defaults to use the FooMailSystem for sending
  74. messages, while continuing to use the current system for formatting
  75. them:
  76. mailsystem_set(
  77. [
  78. mailsystem_default_id() => [
  79. 'mail' => 'FooMailsystem',
  80. ],
  81. ]
  82. );
  83. References
  84. [8]drupal_mail_system() API documentation:
  85. [9]api.drupal.org/api/drupal/includes--mail.inc/function/drupal_
  86. mail_system
  87. [10]MailSystemInterface API documentation:
  88. [11]api.drupal.org/api/drupal/includes--mail.inc/interface/MailS
  89. ystemInterface
  90. [12]Creating HTML formatted mails in Drupal 7:
  91. [13]drupal.org/node/900794
  92. References
  93. 1. http://drupal.org/project/mailsystem
  94. 2. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/8
  95. 3. http://drupal.org/node/1134044
  96. 4. http://drupal.org/project/htmlmail
  97. 5. http://drupal.org/project/mimemail
  98. 6. http://drupal.org/project/postmark
  99. 7. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/8
  100. 8. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/8
  101. 9. http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail_system/8
  102. 10. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/8
  103. 11. http://api.drupal.org/api/drupal/includes--mail.inc/interface/MailSystemInterface/8
  104. 12. http://drupal.org/node/900794
  105. 13. http://drupal.org/node/900794