cv отправка по электронной почте с использованием wp-mail

0

Я загрузил cv успешно с карьеры. Теперь я хочу отправить это по электронной почте.

Загрузить часть

 if ($_FILES['filecv']['name'] != "") {
        $sqldata['att_ment'] = uploadCVFile($_FILES['filecv']);
    } else {
        $sqldata['att_ment'] = '';
    }

CV загружается успешно.

Функция uploadCVFile

 function uploadCVFile($uploadedfile)
 {
    if (!function_exists('wp_handle_upload'))
    require_once (ABSPATH . 'wp-admin/includes/file.php');
    $upload_overrides = array('test_form' => false);
    add_filter('upload_dir', 'cv_uploads_dir');
    $movefile = wp_handle_upload($uploadedfile, $upload_overrides);
    remove_filter('upload_dir', 'cv_uploads_dir');
    if ($movefile) {
        return basename($movefile['file']); //$uploadedfile['name'];
    } else {
         return "";
    }
   }

набор путей

  function cv_uploads_dir($param)
  {
    $param['subdir'] = '/cvs';
    $param['path'] = $param['basedir'] . $param['subdir'];
    $param['url'] = $param['baseurl'] . $param['subdir'];
    return $param;
  }

теперь я хочу отправить это по электронной почте с помощью функции wp_mail. все другие данные отправляются успешно, но я не знаю, как бороться с cv.

Почтовая функция

 function SendCareers_Email($pst)
{
$to = get_option('career_email');
$from = $pst['e-mail'];
$name = $pst['firstname'];
$cvname="/uploads/cvs/".$sqldata['att_ment'];
$subject = "Applying for the job " . $pst['title'];
$message= "Candidate Name:-" . $name . "<br/>";
$message .= "Job Title Applied:-" . $pst['title'] . "<br/>";
if(!empty($pst['country'])){
$message .= "Country Of Resindency:-" . $pst['country'] . "<br/>";
}
if(!empty($pst['nationlaity'])){
$message .= "Nationlaity:-" . $pst['nationlaity'] . "<br/>";
}
$attachments = array( WP_CONTENT_DIR . $cvname );
if(!empty($pst['mobileno'])){
$message .= "Phone Number:-" . $pst['mobileno'] . "<br/>";
}
add_filter('wp_mail_content_type', 'set_career_html_content_type');
$admin_headers = 'From: '.$name.' <'.$from .'>' . "\r\n\\";
wp_mail($to, $subject,$message ,  $admin_headers,$attachments);
remove_filter('wp_mail_content_type', 'set_career_html_content_type'); 
}
function set_career_html_content_type()
{
    return 'text/html';
}
  • 0
    $ Cvname = "/ загрузки / резюме /".$ SQLDATA [ 'att_ment']; вам нужно передать $ sqldata в функцию. Это еще не доступно. Или используйте $ _FILES ['filecv'] ['name'] вместо $ sqldata ['att_ment']
  • 0
    $ _FILES ['filecv'] ['name'] Я использовал это. это не отправка Attachemtn
Показать ещё 3 комментария
Теги:

1 ответ

1
Лучший ответ

В вашей функции SendCareersEmail измените эту часть

$cvname="/uploads/cvs/".$_FILES['filecv']['name'];

$attachments = array(
     $cvname
);

Когда внутри функции доступны только глобальные переменные или переменные, которые вы переходите в функцию (в вашем случае $ pst). Поэтому либо передайте в $ sqldata функцию SendCVEmail ($ pst, $ sqldata), либо используйте глобальный вызов $ _FILES ['filecv'] ['name']

  • 0
    Я удалил это. это не работало. Вместо этого я использовал этот массив $ attachments = (WP_CONTENT_DIR. $ cvname);
  • 0
    $ Cvname = "/ загрузки / резюме /".$_ FILES [ 'filecv'] [ 'имя'];
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню