0

こんにちは、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>"))));  
}  

簡単なことのように思えますが、苦労しています!

4

1 に答える 1

0

ひびが入ったと思います:)これは投稿者/ユーザーの電子メールと私の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>"))));  
}  
于 2010-12-18T21:18:50.823 に答える