BCC สำหรับฟังก์ชั่นจดหมาย drupal [ปิด]


20

ฉันใช้ Drupal 7 และมุ่งเน้นที่จะทำงานกับตัวเลือกอีเมล ฉันใช้โมดูลส่งต่อ ฉันจะเพิ่มฟิลด์ BCC ในฟังก์ชัน drupal_mail () ได้อย่างไร

ฟังก์ชั่นเริ่มต้นของฉันมี

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

คำตอบ:


27

ทุกสิ่งที่คุณต้องการอยู่ในส่วนหัวของข้อความอีเมล์

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

นี่คือตัวอย่างการใช้งานdrupal_mail () พร้อมกับส่วนหัวของ bcc

$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 ไม่ทำงาน โปรดให้วิธีแก้ปัญหาอื่น
sathish

3

คุณสามารถใช้การเปลี่ยนแปลง hook mail สำหรับการเปลี่ยนหรือเพิ่ม id รหัสสำเนา cc และ bcc ดูตัวอย่าง:


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

นอกจากนี้คุณสามารถใช้รหัส bcc และ cc mail ในอาร์เรย์ $ params ของ 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',
  ),
);



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.