drupal_mail_send($message) 邮件发送

Posted on 七月 8th, 2010 by keeperhan and tagged .
keeperhan 的头像

         drupal_mail_send($message) 这是一个发送邮件的钩子函数 , 使用 Drupal的变量和默认设置 . $message 参数数组中至少要包含 id , to , subject , body , headers .其中 id 是标识 mail 类型的唯一 ; to是你要发送的对象 , 也就是你要把这个Email 消息发送给谁 ; subject 是被发送的Email的标题 ; body  是被发送的Email的具体内容 ; headers 是一个包含所有mail的标题的相关数组 .
         今天利用drupal_mail_send($message)这个函数写了一个群发邮件的功能 . 我编写了一个表单 , 在表单的提交函数中使用了drupal_mail_send($message)函数 , 代码如下 :
function sent_mailing_form_submit(&$form, &$form_state){
    $sender = $form_state["values"]["sender"];
    $recipients = $form_state["values"]["recipients"];
    $title = $form_state["values"]["title"];
    $content_description = $form_state["values"]["content_description"];

    $recipients = explode(";",$recipients);

     foreach($recipients as $rec) {
        $first_name = db_result(db_query("SELECT first_name FROM {individual_registration} WHERE email = '%s' ",$rec));
        $message = array(
                'id' => 'mailling',
                'from' => $sender ,
                'to' => $rec ,
                'subject' => $title ,
                'body' => "Dear , ".$first_name." . <br />".$description ,
                'headers' => array('From' => 'NCOLCTL', 'Content-Type' => 'text/html; charset="utf-8";'),
            );
        drupal_mail_send($message);
     }
 drupal_set_message("Sendding Success!");
}