【问题标题】:Get email from Drupal CCK field and send mail using drupal_mail从 Drupal CCK 字段获取电子邮件并使用 drupal_mail 发送邮件
【发布时间】:2010-12-18 20:32:21
【问题描述】:

您好,我正在使用 Jobsearch 模块在 Drupal 6 中构建招聘网站。默认情况下,它会将申请发送到发布工作的用户的电子邮件地址。我的问题是所有工作都将由站点管理员发布 - 我需要将应用程序发送给该管理员和 CCK 字段中指定的电子邮件地址(准确地说是 CCK 电子邮件字段)。

尝试提取 CCK 字段的值并将其与工作发布者(管理员)的电子邮件一起使用并使用 drupal_mail 发送但失败 - 电子邮件未发送到自定义 CCK 电子邮件字段。

这是我从 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>"))));  
}  

看起来应该是一件简单的事情,但我很挣扎!

【问题讨论】:

    标签: email drupal cck drupal-hooks


    【解决方案1】:

    我认为破解了 :) 这会发送到发帖人/用户的电子邮件和我的 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>"))));  
    }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多