Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Отправка почты на php

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Nodo56

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Есть проблема при отправки почты с вложением функцией mail().  Почему то из всех прикрепленных файлов приходит только первый.Однако если отправлять на почтовый ящик на mail.ru то приходят все,но все кроме первого показываются как битые. Но их можно скачать и они будут отображаться как нормальные файлы. Отправляю картинки.
Вот пример кода:
 
<?php
class MyMail {
    protected static $name;
    protected static $email;
    protected static $post;
    protected static $text;
    protected static $header;
    protected static $file;
    protected static $file_size;
    protected static $handle;
    protected static $content;
    protected static $uid;
    protected static $whiteList;
    protected static $error;
 
    public static function sendMail($name,$email,$text,$file="0") {
        self::$name = $name;
        self::$email = $email;
        self::$text = $text;
        self::$content = chunk_split(base64_encode(self::$content));
        self::$uid = md5(uniqid(time()));
        self::$header = "From: ".self::$email." <Foxclore>\r\n";
        self::$header .= "Reply-To: Foxclore\r\n";
        self::$header .= "MIME-Version: 1.0\r\n";
        self::$header .= "Content-Type: multipart/mixed; boundary=\"".self::$uid."\"\r\n\r\n";
        self::$header .= "This is a multi-part message in MIME format.\r\n";
        self::$header .= "--".self::$uid."\r\n";
        self::$header .= "Content-type:text/plain; charset=UTF-8\r\n";
        self::$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
 
        for($i=0;$i<=count($_FILES['img']['name']);$i++) {
 
            if(isset($_FILES["img"]["name"][$i])) {
                copy($_FILES["img"]["tmp_name"][$i],"files/".$_FILES["img"]["name"][$i]);
                self::$file = "files/".$_FILES["img"]["name"][$i];
                self::$file_size = filesize(self::$file);
                self::$handle = fopen(self::$file, "r");
                self::$content = fread(self::$handle, self::$file_size);
                fclose(self::$handle);
                self::$header .= self::$text."\r\n\r\n";
                self::$header .= "--".self::$uid."\r\n";
                self::$header .= "Content-Type: application/octet-stream\"\r\n";
                self::$header .= "Content-Transfer-Encoding: base64\r\n";
                self::$header .= "Content-Disposition: attachment; filename=\"".$_FILES["img"]["name"][$i]."\"\r\n\r\n";
                self::$content = chunk_split(base64_encode(self::$content));
                self::$header .= self::$content."\r\n\r\n";
                self::$header .= "--".self::$uid."--";
            }
 
 
        }
 
            mail('vlad_564@ukr.net', self::$post, "", self::$header);
 
        header("Location: ".$_SERVER["HTTP_REFERER"]);
    }
}
?>
 
Заранее благодарен!

Всего записей: 4 | Зарегистр. 11-08-2014 | Отправлено: 13:02 11-08-2014
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Интернет » Web-программирование » Отправка почты на php


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru