BCC For drupal mail function [fermé]

20

J'utilise Drupal 7 et je me concentre sur l'utilisation de l'option de messagerie. J'utilise le module Forward . Comment puis-je ajouter le champ BCC dans la fonction drupal_mail ().

ma fonction par défaut ayant,

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

Réponses:

27

Tout ce dont vous avez besoin se trouve dans le tableau des en-têtes des e-mails.

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

Voici un exemple d'implémentation de drupal_mail () avec les en-têtes bcc inclus.

$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);

En utilisant hook_mail (), vous devez ajouter (merci @ clive ):

/**
 * Implements hook_mail().
 */
function ModuleName_mail($key, &$message, $params) {
    switch ($key) {
        case 'message_key':
            $message['headers'] += $params['headers'];
    }
}
Citricguy
la source
Nous avons ajouté le code mais les champs cc et bcc ne fonctionnent pas. Veuillez donner une autre solution.
sathish
3

Vous pouvez utiliser le hook mail alter pour modifier ou ajouter des identifiants de messagerie modifiés, cc et bcc, voir l'exemple:


/**
 * 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';
}

Vous pouvez également utiliser les identifiants de messagerie bcc et cc dans le tableau $ params de 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',
  ),
);
Akhila V Nair
la source
2

Il y a un module pour cela: si vous voulez obtenir un Cci de tous les mails que drupal envoie, consultez le module BCC .

geek-merlin
la source
2

Tu peux le faire:

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