8邮件发送

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    这里我们用到了Drupal的邮件发送,drupal_mail是一个API函数,专门用来发送邮件的。我们这里做一下简单的介绍:

 

drupal_mail($module, $key, $to, $language, $params = array(), $from = NULL, $send = TRUE)

 

  $module表示hook_mail()所触发的模块的名字,也就是我们将调用{$module}_mail()

  $keyhook_mail中定义的键。

  $to表示收件人地址。

  $language表示合成邮件所用的语言对象,默认为当前语言。

  $params,表示用于构建电子邮件的可选参数

  $from,表示发件人地址。

  $send,表示直接发送邮件。

 

下面是我们的hook_mail的具体实现:

/**

 * 实现钩子hook_mail().

 */

function contactus_mail($key, &$message, $params){

$language = $message['language'];

  switch ($key) {

   case 'contact':


//邮件的标题

    $message['subject'] = '联系我们';


//邮件正文,这里面包含:姓名、单位名称、电子邮件、电话号码、邮件正文、访问来源

      $message['body'][] = '姓名:'.$params['name'];

      $message['body'][] = '单位名称:'.$params['company_name'];

      $message['body'][] = '电子邮件:'.$params['mail'];

      $message['body'][] = '电话号码:'.$params['phone'];

      $message['body'][] = '邮件正文:'.$params['contact'];


      //对于访问来源,如果visit的值我们选择了“其它”,那么此时我们取$params['other'],否则取$params['visit']

      $visit = "";

      if($params['visit'] == 'other'){

        $visit = $params['other'];

      }else{

        $visit = $params['visit'];

      }

      $message['body'][] = '访问来源:'. $visit;

  }

}

    这里$message['body']表示邮件的正文部分,这里把用户提交的信息全部加了进来。这里的$message是一个数组,除了上面用到的subjectbody以外,还可以用的键有idtofromheaders$key表示邮件的标识。$params则是传递过来用于构建邮件的关联数组。


Drupal版本: