BCC Für Drupal Mail Funktion [geschlossen]

20

Ich benutze Drupal 7 und konzentriere mich darauf, mit der E-Mail-Option zu arbeiten. Ich benutze das Forward- Modul. Wie kann ich das BCC-Feld in der Funktion drupal_mail () hinzufügen ?

meine Standardfunktion hat,

drupal_mail('forward', 'forward_page', trim($to), language_default(), $params, $params['from']);
trübselig
quelle

Antworten:

27

Alles, was Sie brauchen, befindet sich in der E-Mail-Kopfzeile.

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

Hier ist eine Beispielimplementierung von drupal_mail () mit eingeschlossenen bcc-Headern.

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

Mit hook_mail () musst du hinzufügen (danke @ clive ):

/**
 * Implements hook_mail().
 */
function ModuleName_mail($key, &$message, $params) {
    switch ($key) {
        case 'message_key':
            $message['headers'] += $params['headers'];
    }
}
Citricguy
quelle
Wir haben den Code hinzugefügt, aber die Felder cc und bcc funktionieren nicht. Bitte geben Sie eine andere Lösung.
Sathish
3

Sie können die Hook-Mail-Änderung verwenden, um geänderte CC- und BCC-Mail-IDs zu ändern oder hinzuzufügen (siehe Beispiel):


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

Sie können auch bcc- und cc-Mail-IDs im $ params-Array von drupal_mail () verwenden:


$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
quelle
2

Hierfür gibt es ein Modul: Wenn Sie eine Liste aller von Drupal gesendeten E-Mails erhalten möchten, lesen Sie das BCC-Modul .

Geek-Merlin
quelle
2

Du kannst das:

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