作者:老葛,北京亚艾元软件有限责任公司,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();
$key是hook_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是一个数组,除了上面用到的subject、body以外,还可以用的键有id、to、from、headers。$key表示邮件的标识。$params则是传递过来用于构建邮件的关联数组。