Почему не доходит письмо если вложение отсутсвует? PHP

188
21 августа 2018, 16:20
<?php
$picture = "";
  $mail_to_array = array(
        'webmaster2@www.com',
        'webmaster@www.com'
    );
  $thm = 'something';
  $msg = '
  <h1>some text</h1>
  <h2>Персональные данные</h2>
  <hr>
  Прислано от : '.$_POST['userFirstName'].' '.$_POST['userSecondName'].'
  <br>
  Телефон : '.$_POST['phone'].'
  <br>
  Email: '.$_POST['email'].'
  <br>
  Дата рождения: '.$_POST['birth'].'
  <br>
  <br>
  Место проживания: '.$_POST['city-live'].'
  <br>
  <h2>Профессиональные навыки</h2>
  <hr>
  Город: '.$_POST['city'].'
  <br>
  Университет: '.$_POST['university'].'
  <br>
  Факультет: '.$_POST['faculty'].'
  <br>
  Кафедра: '.$_POST['speciality'].'
  <br>
  Год Выпуска: '.$_POST['dYear'].'
  <br>
  Опыт работы: '.$_POST['experience'].'
  <br>
  Дополнительная информация: '.$_POST['addInfo'].'
  <br>
  Когда готовы преступить к практике: '.$_POST['startPractic'].'';

  if (!empty($_FILES['mail_file']['tmp_name']))
  {
    $target_dir = "file/";
    $path = $target_dir.$_FILES['mail_file']['name'];
    if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
  }

  if(empty($picture)) mail($mail_to, $thm, $msg);
  else  foreach ($mail_to_array as $mail_to){
       send_mail($mail_to, $thm, $msg, $picture);
  }  
  function send_mail($mail_to, $thema, $html, $path)
  { if ($path) {
    $fp = fopen($path,"rb");
    if (!$fp)
    { print "Cannot open file";
      exit();
    }
    $file = fread($fp, filesize($path));
    fclose($fp);
    }
    $name = "file.pdf"; 
    $EOL = "\r\n";  
    $boundary     = "--".md5(uniqid(time()));  
    $headers    = "MIME-Version: 1.0;$EOL";
    $headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";
    $headers   .= "From: some.robot@www.com";
    $multipart  = "--$boundary$EOL";
    $multipart .= "Content-Type: text/html; charset=utf-8$EOL";
    $multipart .= "Content-Transfer-Encoding: base64$EOL";
    $multipart .= $EOL;
    $multipart .= chunk_split(base64_encode($html));
    $multipart .=  "$EOL--$boundary$EOL";
    $multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";
    $multipart .= "Content-Transfer-Encoding: base64$EOL";
    $multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";
    $multipart .= $EOL; 
    $multipart .= chunk_split(base64_encode($file));
    $multipart .= "$EOL--$boundary--$EOL";
        if(!mail($mail_to, $thema, $multipart, $headers))
         {return False;           
      }
    else { //

    return True;
    }
  exit;
  }
  echo '<script>window.location.href = "http://www.com";</script>';
?>
READ ALSO
как записать JSON массив в csv на php

как записать JSON массив в csv на php

вот что есть на данный момент

209
Требуется помощь в коррекции кода

Требуется помощь в коррекции кода

народУ меня есть вот такой пример (код с другой функции)

178