BCC Đối với chức năng thư drupal [đã đóng]


20

Tôi đang sử dụng Drupal 7 và tập trung để làm việc với tùy chọn email. Tôi đang sử dụng mô-đun Chuyển tiếp . Làm cách nào tôi có thể thêm trường BCC trong hàm drupal_mail ().

chức năng mặc định của tôi có,

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

Câu trả lời:


27

Tất cả mọi thứ bạn cần là trong mảng tiêu đề email.

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

Dưới đây là một ví dụ triển khai drupal_mail () với các tiêu đề bcc đi kèm.

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

Sử dụng hook_mail () bạn cần thêm (cảm ơn bạn @ clive ):

/**
 * Implements hook_mail().
 */
function ModuleName_mail($key, &$message, $params) {
    switch ($key) {
        case 'message_key':
            $message['headers'] += $params['headers'];
    }
}

Chúng tôi đã thêm mã nhưng các trường cc và bcc không hoạt động. Xin vui lòng cho một giải pháp khác.
— sathish

3

Bạn có thể sử dụng thay đổi hook hook để thay đổi hoặc thêm id id, cc và bcc đã thay đổi, xem ví dụ:


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

Ngoài ra, bạn có thể sử dụng id mail bcc và cc trong mảng $ params của 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

Có một mô-đun cho điều đó: Nếu bạn muốn nhận được một bcc của tất cả các thư mà drupal gửi, hãy kiểm tra Mô-đun BCC .


2

Bạn có thể làm được việc này:

$message['headers']['Bcc'] = 'email@address.com';

1

Đang hook_mail_alter()sử dụng $message['params']['headers']['Bcc'] = 'yourmail@gmail.com';.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.