Drupal 7を使用しており、電子メールオプションでの作業に重点を置いています。 Forward モジュールを使用しています。 drupal_mailにBCCフィールドを追加するにはどうすればよいですか? ()関数。
私のデフォルトの機能は、
drupal_mail('forward', 'forward_page', trim($to), language_default(), $params, $params['from']);
必要なものはすべて電子メールメッセージのヘッダー配列にあります。
$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'];
}
}
変更したり、変更したり、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',
),
);
そのためのモジュールがあります。drupalが送信するすべてのメールのbccを取得したい場合は、 BCCモジュール を確認してください。
あなたはこれを行うことができます:
$message['headers']['Bcc'] = '[email protected]';
hook_mail_alter()
では、$message['params']['headers']['Bcc'] = '[email protected]';
を使用します。