function MailTestCase::testFromHeader

Checks for the site name in an auto-generated From: header.

File

modules/simpletest/tests/mail.test, line 65

Class

MailTestCase
@file Test the Drupal mailing system.

Code

function testFromHeader() {
    global $language;
    $default_from = variable_get('site_mail', ini_get('sendmail_from'));
    $site_name = variable_get('site_name', 'Drupal');
    // Reset the class variable holding a copy of the last sent message.
    self::$sent_message = NULL;
    // Send an e-mail with a sender address specified.
    $from_email = 'someone_else@example.com';
    $message = drupal_mail('simpletest', 'from_test', 'from_test@example.com', $language, array(), $from_email);
    // Test that the from e-mail is just the e-mail and not the site name and
    // default sender e-mail.
    $this->assertEqual($from_email, self::$sent_message['headers']['From']);
    // Check default behavior is only email in FROM header.
    self::$sent_message = NULL;
    // Send an e-mail and check that the From-header contains only default mail address.
    variable_del('mail_display_name_site_name');
    $message = drupal_mail('simpletest', 'from_test', 'from_test@example.com', $language);
    $this->assertEqual($default_from, self::$sent_message['headers']['From']);
    self::$sent_message = NULL;
    // Send an e-mail and check that the From-header contains the site name.
    variable_set('mail_display_name_site_name', TRUE);
    $message = drupal_mail('simpletest', 'from_test', 'from_test@example.com', $language);
    $this->assertEqual($site_name . ' <' . $default_from . '>', self::$sent_message['headers']['From']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.