Drupal如何发送邮件

时间:2018-07-20 13:35:30

标签: email drupal-7

我正在尝试向用户发送自定义邮件,在一个模块中,我创建了这两种方法:

/**
 * Implements hook_theme().
 */
function ga_planning_theme() {
  return array(
     'ga_planning_mail_status_change' => array(
     'template' => 'templates/ga_planning_mail_status_change',
     'variables' => array(),
  )
);
}

/**
 * Implements hook_mail().
 */
function ga_planning_mail($key, &$message, $params) {
  switch ($key) {
    case 'status_change_mail':
      $message['subject'] = t('Changement de statut');
      $message['body'][] = theme('ga_planning_theme', $params);
      break;
  }
}

我尝试使用drupal_mail发送邮件:

drupal_mail('ga_planning', 'ga_planning_mail_status_change', "myadress@mail.com", NULL, $params, variable_get('site_mail'), TRUE);

但是邮件没有发送,它使用默认模板和以下主题将邮件发送到网站管理员邮件:

DEBUG -  FROM MyWebsite.com

我做错了什么?

1 个答案:

答案 0 :(得分:1)

首先,请确保您可以发送电子邮件,其次: 您需要定义您的 $ params 数组。例如:

$params['test'] = 'ok';

此外,尝试声明标题:

$message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';
$message['subject'] = t('Changement de statut');
$message['body'][] = theme('ga_planning_theme', $params);