Install

Works with Drupal: 7.x

Using Composer to manage Drupal site dependencies

Downloads

Download mailsystem-7.x-2.25.tar.gztar.gz 18.31 KB
MD5: 1085249195f9fe3d5f11623ee3620e8d
SHA-1: 2e392d2c450348b5c4c36e7da19889d6b92aa21b
SHA-256: 6403406eb1c088c493131a552f9bfc2d2f5c39b93ba82647b16a4b5aec11bdea
Download mailsystem-7.x-2.25.zipzip 21.37 KB
MD5: 2efd93d132f72d77affd22f663742d16
SHA-1: 9b31632562fdf3ed34d3fc2011ba78233934fb69
SHA-256: 60fe3d55461747447bf9323f4191a69878057e63795efbf3a3f4ba9f1b88d1f0

Release notes

Fixes:
Issue #1172996-12 by Jose Chaves: Missed one rename _drupal_html_to_text() to _mailsystem_html_to_text().

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

Created by: pillarsdotnet
Created on: 6 Jun 2011 at 15:51 UTC
Last updated: 6 Jun 2011 at 15:51 UTC
Bug fixes

Other releases