web-dev-qa-db-ja.com

BCC for drupalメール機能

Drupal 7を使用しており、電子メールオプションでの作業に重点を置いています。 Forward モジュールを使用しています。 drupal_mailにBCCフィールドを追加するにはどうすればよいですか? ()関数。

私のデフォルトの機能は、

drupal_mail('forward', 'forward_page', trim($to), language_default(), $params, $params['from']);
19
sathish

必要なものはすべて電子メールメッセージのヘッダー配列にあります。

$params['headers'] = array(
    'Bcc' => '[email protected]',
    'Cc' => '[email protected]',
);

以下は、bccヘッダーを含む 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'];
    }
}
27
Citricguy

変更したり、変更したり、ccおよびbccのメールIDを追加したりするには、フックメールの変更を使用できます。例を参照してください。


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

また、drupal_mail()の$ params配列でbccおよびccメールIDを使用できます。


$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',
  ),
);
3
Akhila V Nair

そのためのモジュールがあります。drupalが送信するすべてのメールのbccを取得したい場合は、 BCCモジュール を確認してください。

2
geek-merlin

あなたはこれを行うことができます:

$message['headers']['Bcc'] = '[email protected]';
2
Nathan

hook_mail_alter()では、$message['params']['headers']['Bcc'] = '[email protected]';を使用します。

1
Ameer Khan