简体   繁体   English

从Drupal CCK字段获取电子邮件,并使用drupal_mail发送邮件

[英]Get email from Drupal CCK field and send mail using drupal_mail

Hi I'm using the Jobsearch module to build a recruitment site in Drupal 6. By default it sends applications to the email address of the user who posted the job. 嗨,我正在使用Jobsearch模块在Drupal 6中构建一个招聘网站。默认情况下,它将应用程序发送到发布该职位的用户的电子邮件地址。 My problem is all jobs will be posted by a site admin - I need the applications to be sent to BOTH this admin and an email address specified in a CCK field (it's a CCK Email field to be precise). 我的问题是所有作业都将由站点管理员发布-我需要将应用程序发送到此管理员和CCK字段中指定的电子邮件地址(准确地说,这是CCK电子邮件字段)。

Trying to extract the CCK field's value and use it in addition to the job poster's (admin's) email and send using drupal_mail but failing - email not sent to the custom CCK email field. 尝试提取CCK字段的值,并在工作发布者的(管理员)电子邮件中使用它,并使用drupal_mail发送但失败-电子邮件未发送到自定义CCK电子邮件字段。

This is what I have attempted (and permutations of), from the Jobsearch module job.module file: 这是我从Jobsearch模块job.module文件尝试过的(及其排列):

/**
 * Implementation of hook_mail().
 */
function job_mail($key, &$message, $params) {  
  $result = theme('job_mail', $params['job_node'], $params['job_user'],   $params['resume_node'], $params['resume_user']);  
  $message['subject'] = $result['subject'];  
  $message['body'] = $result['body'];  
}  

function job_send_email($job_nid, $resume_nid) {  
  global $user;  

  $params['job_node']    = $job_node = node_load(array('nid' => $job_nid));  
  $params['job_user']    = $job_user = user_load(array('uid' => $job_node->uid));  
  $params['resume_node'] = $resume_node = node_load(array('nid' => $resume_nid));  
  $params['resume_user'] = $resume_user = user_load(array('uid' => $resume_node->uid));  

  $from = $resume_user->mail;  
  $language = user_preferred_language($user);  


  $contactEmail = node_load($field_contact_email[0][nid]);  

  $to = "$job_user->mail, $contactEmail";     

  drupal_mail('job', 'job_apply', $to, $language, $params, $from);  

  watchdog('job', t("%name applied for job $job_node->nid.",  
    array('%name' => theme('placeholder', $resume_user->name . " <$from>"))));  
}  

It seems like it should be a simple thing to do, but I'm struggling! 看起来这应该很简单,但是我很挣扎!

Cracked it I think :) This sends to both the poster/user's email and one specified in my CCK email field. 我认为是破解的:)这既发送到发帖人/用户的电子邮件,又发送到我的CCK电子邮件字段中指定的电子邮件。

function job_send_email($job_nid, $resume_nid) {
  global $user;

  $params['job_node']    = $job_node = node_load(array('nid' => $job_nid));  
  $params['job_user']    = $job_user = user_load(array('uid' => $job_node->uid));  
  $params['resume_node'] = $resume_node = node_load(array('nid' => $resume_nid));  
  $params['resume_user'] = $resume_user = user_load(array('uid' => $resume_node->uid));  


  $contactEmail = $job_node->field_contact_email[0]['email'];  

  $from = $resume_user->mail;  
  $language = user_preferred_language($user);  



  $to = "$job_user->mail, $contactEmail";     

  drupal_mail('job', 'job_apply', $to, $language, $params, $from);  

  watchdog('job', t("%name applied for job $job_node->nid.",  
    array('%name' => theme('placeholder', $resume_user->name . " <$from>"))));  
}  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM