BCC Для работы с почтой drupal [закрыто]

20

Я использую Drupal 7 и сосредоточен на работе с опцией электронной почты. Я использую модуль Forward . Как добавить поле BCC в функцию drupal_mail ().

моя функция по умолчанию, имеющая,

drupal_mail('forward', 'forward_page', trim($to), language_default(), $params, $params['from']);
Sathish
источник

Ответы:

27

Все, что вам нужно, находится в массиве заголовков сообщений электронной почты.

$params['headers'] = array(
    'Bcc' => 'bcc_email@example.com',
    'Cc' => 'cc_email@example.com',
);

Вот пример реализации drupal_mail () с включенными заголовочными заголовками.

$params = array(
    'body' => $body,
    'subject' => $subject,
    'headers' => array(
        'Bcc' => $header_bcc,
        'Cc' => $header_cc
    )
);

$email = drupal_mail('ModuleName', 'message_key', $to, LANGUAGE_NONE, $params, $from, true);

Используя hook_mail () вам нужно добавить (спасибо @ clive ):

/**
 * Implements hook_mail().
 */
function ModuleName_mail($key, &$message, $params) {
    switch ($key) {
        case 'message_key':
            $message['headers'] += $params['headers'];
    }
}
Citricguy
источник
Мы добавили код, но поля cc и bcc не работают. Пожалуйста, дайте другое решение.
Сатиш
3

Вы можете использовать перехват почты alter для изменения или добавления измененных идентификаторов почты cc и bcc, см. Пример:


/**
 * Implements hook_mail_alter().
 */
function hook_mail_alter(&$message) {
  $message['to'] = 'mail@gmail.com';
  $message['headers']['Bcc'] = 'Your mail ids goes here with comma seperation';
  $message['headers']['Cc'] = 'Your mail ids goes here with comma seperation';
}

Также вы можете использовать идентификаторы почты bcc и cc в массиве $ params для drupal_mail ():


$params = array(
  'body' => $body,
  'subject' => 'Your Subject',
  'headers' => array(
    'Cc' => 'Your mail ids goes here with comma seperation',
    'Bcc' => 'Your mail ids goes here with comma seperation',
  ),
);
Ахила В Наир
источник
2

Для этого есть модуль: Если вы хотите получить скрытую копию всех писем, которые отправляет drupal, проверьте модуль BCC .

Компьютерщик-кречет
источник
2

Ты можешь сделать это:

$message['headers']['Bcc'] = 'email@address.com';
Натан
источник
1

В hook_mail_alter()использовании $message['params']['headers']['Bcc'] = 'yourmail@gmail.com';.

Амир Хан
источник