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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.