За последние 24 часа нас посетили 22090 программистов и 1672 робота. Сейчас ищут 1695 программистов ...

Проблема при отправке вложений

Тема в разделе "Сделайте за меня", создана пользователем Nodo56, 11 авг 2014.

  1. Nodo56

    Nodo56 Новичок

    С нами с:
    11 авг 2014
    Сообщения:
    1
    Симпатии:
    0
    Добрый день!
    При отправке почты с вложениями(картинки) при помощи функции mail(),приходит только первая картинка. Однако если отправлять на mail.ru то приходят все,но все кроме первой отображаются как битые,но если их скачать то они нормальные. В чем проблема? Вот код

    Код (PHP):
    1. <?php
    2. class MyMail {
    3.     protected static $name;
    4.     protected static $email;
    5.     protected static $post;
    6.     protected static $text;
    7.     protected static $header;
    8.     protected static $file;
    9.     protected static $file_size;
    10.     protected static $handle;
    11.     protected static $content;
    12.     protected static $uid;
    13.     protected static $whiteList;
    14.     protected static $error;
    15.  
    16.     public static function sendMail($name,$email,$text,$file="0") {
    17.         self::$name = $name;
    18.         self::$email = $email;
    19.         self::$text = $text;
    20.         self::$content = chunk_split(base64_encode(self::$content));
    21.         self::$uid = md5(uniqid(time()));
    22.         self::$header = "From: ".self::$email." <Foxclore>\r\n";
    23.         self::$header .= "Reply-To: Foxclore\r\n";
    24.         self::$header .= "MIME-Version: 1.0\r\n";
    25.         self::$header .= "Content-Type: multipart/mixed; boundary=\"".self::$uid."\"\r\n\r\n";
    26.         self::$header .= "This is a multi-part message in MIME format.\r\n";
    27.         self::$header .= "--".self::$uid."\r\n";
    28.         self::$header .= "Content-type:text/plain; charset=UTF-8\r\n";
    29.         self::$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    30.  
    31.         for($i=0;$i<=count($_FILES['img']['name']);$i++) {
    32.  
    33.             if(isset($_FILES["img"]["name"][$i])) {
    34.                 copy($_FILES["img"]["tmp_name"][$i],"files/".$_FILES["img"]["name"][$i]);
    35.                 self::$file = "files/".$_FILES["img"]["name"][$i];
    36.                 self::$file_size = filesize(self::$file);
    37.                 self::$handle = fopen(self::$file, "r");
    38.                 self::$content = fread(self::$handle, self::$file_size);
    39.                 fclose(self::$handle);
    40.                 self::$header .= self::$text."\r\n\r\n";
    41.                 self::$header .= "--".self::$uid."\r\n";
    42.                 self::$header .= "Content-Type: application/octet-stream\"\r\n";
    43.                 self::$header .= "Content-Transfer-Encoding: base64\r\n";
    44.                 self::$header .= "Content-Disposition: attachment; filename=\"".$_FILES["img"]["name"][$i]."\"\r\n\r\n";
    45.                 self::$content = chunk_split(base64_encode(self::$content));
    46.                 self::$header .= self::$content."\r\n\r\n";
    47.                 self::$header .= "--".self::$uid."--";
    48.             }
    49.  
    50.  
    51.         }
    52.  
    53.             mail('vlad_564@ukr.net', self::$post, "", self::$header);
    54.  
    55.         header("Location: ".$_SERVER["HTTP_REFERER"]);
    56.     }
    57. }
    58. ?>