README.txt 3.63 KB
Newer Older
Achilleas's avatar
Achilleas committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
[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

   [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