Как автоматически отправить файл на почту, указанную в заявке сайта?

Здравствуйте. Есть задача: при отправке заявки на сайте посетителю автоматически на введенную почту почту должен падать файл презентации. Пытаюсь использовать для этого встроенный в modx phpMailer. Заявка доходит до клиента, но на почту, введенную в форму захвата, отправка файла не происходит. Использую этот код. Как его допилить под эту задачу?

PHP:
  1. define(‘MODX_API_MODE’,true);
  2. require_once(dirname(__FILE__).‘/index.php’);
  3. if(empty($modx))thrownew Exception(‘Core not found’,500);
  4. //куда слать заявки
  5. $sendto=‘evgenii_krishtopa@mail.ru’;
  6. # От кого отправляем почту — Имя
  7. $my_name=«leader-a.ru»;
  8. # От кого отправляем почту — E-mail
  9. $my_mail=«eugene.krishtopa@yandex.ua»;
  10. # Почта для ответа — E-mail      
  11. $my_replyto=«eugene.krishtopa@yandex.ua»;
  12. $subjectuser=«Заявка с сайта leader-a.ru. Форма ‘Пройти тест'»;
  13. $mes=«»;
  14. $my_file=«»;
  15. if($_POST[‘user_phone’]==»){
  16.     echo‘false’;
  17.   die();
  18. }
  19. foreach($_POSTas$k=>$v){
  20.     switch($k){
  21.         case‘user_name’:
  22.         $mes.=‘Имя: ‘.$_POST[‘user_name’].PHP_EOL;
  23.         break;
  24.         case‘user_phone’:
  25.         $mes.=‘Телефон: ‘.$_POST[‘user_phone’].PHP_EOL;
  26.         break;
  27.         case‘user_email’:
  28.         $mes.=‘E-mail: ‘.$_POST[‘user_email’].PHP_EOL;
  29.         break;
  30.     }
  31. }
  32. $mes.=‘Отправлено с сайта ‘.$_SERVER[HTTP_HOST];
  33. if(!empty($_FILES[‘file’][‘tmp_name’])){
  34.     $path=$_FILES[‘file’][‘name’];
  35.     if(copy($_FILES[‘file’][‘tmp_name’],$path)){
  36.         $my_file=$path;
  37.     }
  38. }
  39. if(@mail_attachment($my_file,$sendto,$my_mail,$my_name,$my_replyto,$subjectuser,$mes)){
  40.     echo«true»;
  41. }else{
  42.     echo«false»;
  43. }
  44. if($_POST[‘send’]){
  45.     if(!isset($_POST[‘user_email’])||$_POST[‘user_email’]==»)returnfalse;
  46.     switch($_POST[‘send’]){
  47.         case;
  48.         case‘0’:
  49.             returnfalse;
  50.         break;
  51.         case1:
  52.         case‘1’:
  53.             $bodyMessage=«Презентация прикреплена к письму.». PHP_EOL .«Остались вопросы звоните на мобильный +7 984 777-04-54 «;//текст для презентации
  54.             $file=dirname(__FILE__).‘/WONDERBEAT_Prezentatsia_franshizy.pdf’;
  55.         break;
  56.         default:
  57.             returnfalse;
  58.         break;
  59.     }
  60.     $modx->getService(‘mail’,‘mail.modPHPMailer’);
  61.     $modx->mail->set(modMail::MAIL_BODY,$bodyMessage);
  62.     $modx->mail->set(modMail::MAIL_FROM,‘eugene.krishtopa@yandex.ua’);
  63.     $modx->mail->set(modMail::MAIL_FROM_NAME,‘leader-a.ru’);
  64.     $modx->mail->set(modMail::MAIL_SUBJECT,‘Презентация нашей фирмы’);
  65.     $modx->mail->address(‘to’,$_POST[‘user_email’]);
  66.     $modx->mail->address(‘reply-to’,‘eugene.krishtopa@yandex.ua’);
  67.     $modx->mail->attach($file);
  68.     $modx->mail->setHTML(true);
  69.     if(!$modx->mail->send()){
  70.         $modx->log(modX::LOG_LEVEL_ERROR,‘An error occurred while trying to send the email: ‘.$modx->mail->mailer->ErrorInfo);
  71.     }
  72.     $modx->mail->reset();
  73. }
  74. function mail_attachment($filename,$mailto,$from_mail,$from_name,$replyto,$subject,$message)
  75. {
  76.     if(!empty($filename))
  77.     {
  78.         $file=$filename;
  79.         if(file_exists($file))
  80.         {
  81.             $file_size=filesize($file);
  82.             $handle=fopen($file,«r»);
  83.             $content=fread($handle,$file_size);
  84.             fclose($handle);
  85.             $content=chunk_split(base64_encode($content));
  86.             $name=basename($file);
  87.             unlink($file);
  88.         }
  89.         else
  90.         {
  91.             unset($filename);
  92.         }
  93.     }
  94.     $uid=md5(uniqid(time()));
  95.     $header=«From: «.$from_name.» <«.$from_mail.«>». PHP_EOL;
  96.     $header.=«Reply-To: «.$replyto. PHP_EOL;
  97.     $header.=«MIME-Version: 1.0». PHP_EOL;
  98.     $header.=«Content-Type: multipart/mixed; boundary=««.$uid.«««. PHP_EOL . PHP_EOL;
  99.     $nmessage=«—«.$uid. PHP_EOL;
  100.     $nmessage.=«Content-type:text/plain; charset=utf-8 «. PHP_EOL;
  101.     $nmessage.=«Content-Transfer-Encoding: 7bit». PHP_EOL . PHP_EOL;
  102.     $nmessage.=$message. PHP_EOL . PHP_EOL;
  103.     if(!empty($filename))
  104.     {
  105.         $nmessage.=«—«.$uid. PHP_EOL;
  106.         $nmessage.=«Content-Type: application/octet-stream; name=««.$filename.«««. PHP_EOL;
  107.         $nmessage.=«Content-Transfer-Encoding: base64». PHP_EOL;
  108.         $nmessage.=«Content-Disposition: attachment; filename=««.$filename.«««. PHP_EOL . PHP_EOL;
  109.         $nmessage.=$content. PHP_EOL . PHP_EOL;
  110.         $nmessage.=«—«.$uid.«—«;
  111.     }
  112.     returnmail($mailto,$subject,$nmessage,$header);
  113. }
Ссылка на основную публикацию