Forum Webscript.Ru

Программирование => PHP => Тема начата: slavius2003 от 24 Марта 2005, 18:52:54

Название: Отправка писем с вложением
Отправлено: slavius2003 от 24 Марта 2005, 18:52:54
Здравствуйте !
Исмеется небольшая проблема со скриптом, в частонсти при отправке писем с вложением. Дело в том, что когда у себя на компьюторе я устанавливал
Web-сервер Apache и тестировал данный скрипт, то все работалго нормально, тоесть письмо отправлялось с вложением все как положено. Но когда я его залил на сервер и там запустил, то он вместо того чтобы полностью отправить вложение он передает только пару байт. Не подскажете в чем может быть причина.
Сам скрипт отправки письма с вложением я привожу ниже.

$to = "rambler@rambler.ru";
$from_mail = "mail@mail.ru";
$from_name = "mail@mail.ru";
$file_name = "Attache.exe";

if (!isset($mode))
   $mode = "unknown";
   
switch ($mode) {
       case "send": sendMail($to,$from_mail,$from_name,$subject,$message,$file_name); break;
       default:
}

function sendMail($to,$from_mail,$from_name,$subject,$message,$file_name) {
  $bound="topmodels";
  $header="From: $from_name\\n";
  $header.="Subject: $subject\\n";
  $header.="Mime-Version: 1.0\\n";
  $header.="Content-Type: multipart/mixed; boundary=\\"$bound\\"";
  $body="\\n\\n--$bound\\n";
  $body.="Content-type: text/html;\\n";
  $body.="Content-Transfer-Encoding: quoted-printable\\n\\n";
  $body.="$message";
  $file=fopen($file_name,"rb");
  $body.="\\n\\n--$bound\\n";
  $body.="Content-Type: application/octet-stream;";
  $body.="name=\\"".basename($file_name)."\\"\\n";
  $body.="Content-Transfer-Encoding:base64\\n";
  $body.="Content-Disposition:attachment\\n\\n";
  $body.=base64_encode(fread($file,filesize($file_name)))."\\n";
  $body.="$bound--\\n\\n";
  if(mail($to, $subject, $body, $header)) {
    echo "
Письмо было успешно отправлено!
";
   echo "";
  } else {
    echo "
Сообщение не отправлено!
";
   echo "";
  };
};

?>


Subject:


Message body: