Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление вложений 
:(
    Опции темы
Borland_Delphi_6
Дата 29.3.2005, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: 2
Всего: 20



У товарщиа arial'a есть прекрасный пример отправки почты с вложениями - http://vingrad.ru/PHP-SRC-002368. Но вот проблема: как я не старался, мне так и не удалось удалить уже присоединенные функцией add_attachment файлы. Плиз, помогите!


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
Mal Hack
Дата 29.3.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Надо из тела сообщения вырезать мессаги.
http://forum.vingrad.ru/index.php?showtopi...20&unread=1&hl=
Вот тут смысл.
PM ICQ   Вверх
Borland_Delphi_6
Дата 29.3.2005, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: 2
Всего: 20



Брр. Ничего там по своему вопросу не нашел. Я его видимо не точно выразил smile

Итак.
Есть класс для отправки писем с вложениями. Позволяет присоединять одновременно несколько аттачей. С этим все замечательно. Проблема появляется тогда, когда нужно сначала приаттачить один файл и отправить мыло и БЕЗ перезапуска скрипта присоеденить второй файл и отправить его. Первый отправляется нормально, а вот со вторым трабла - он тоже отправляется, но ВМЕСТЕ с ПЕРВЫМ файлом, что мне совершенно ненужно! Вывод: нужно очистить массив в классе для отправки почты, который хранит аттачи. Так вот, я не знаю, как к нему правильно обратится (из-за того, что он в классе находится) - там с классами вроде какой-то другой способ обращения, или все как обычно?

Вот какие у меня варианты приходят мне в голову:
Код

<?
empty($array);
?>


или

Код

<?
$Var = new Class;
empty($var->array);
?>


Брр еще раз. Объяснил как смог. Если все равно не понятно - буду искать другие слова smile



--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
<Spawn>
Дата 29.3.2005, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 1
Всего: 64



немножко модифицируй метод send, например, так

Код

    function send()
    {
        $this->cp_convert();
        $headers = '';
        empty($this->from) or $headers .= 'From: ' . $this->from . $this->nl;
        $i = 0;
        $count = sizeof($this->headers);
        while ($i < $count) {
            $headers .= $this->headers[$i] . $this->nl;
            $i++;
        }
        $headers .= 'MIME-Version: 1.0' . $this->nl;
        $headers .= $this->build_multipart();
        $result = mail($this->to, $this->subject, '', $headers);
        $this->parts = null;
        return $result;
    }



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
skalex
Дата 29.3.2005, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



Ну, насколько я понял, за аттачи отвечает переменная класса $parts. Соответственно:
Код
$mail = new Mail;
$mail->from      = '[email protected]';
$mail->to        = '[email protected]';
$mail->subject   = 'Тестовое сообщение';
$mail->body      = '<center><b>Привет!</b><br />Вот изображение 1: <img src="1.gif" /> и изображение 2: <img src="2.gif" /></center>';

$mail->add_header('X-Priority: 2');
$mail->add_attachment('1.gif');
$mail->add_attachment('2.gif');

$mail->send();

unset($mail->parts);

$mail->add_attacment('some_file.ext');
$mail->send();


Но лучше добавить метод в класс, потому что прямое обращение к переменным класса является плохим тоном ООП. Что нибудь типа clearAttachments().

Это сообщение отредактировал(а) Mace - 29.3.2005, 16:22
PM   Вверх
Mal Hack
Дата 29.3.2005, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Borland_Delphi_6
смысл в том, что вложение идет в текст собщения, отделенный от текста письма специальтным разделителем и зашифровывается.
Выход, либо ДО построения сообщения удалять элемент из массива, либо после выдирать код между специальными разделителями и удалять. Первый вариант намного лучше.
PM ICQ   Вверх
Borland_Delphi_6
Дата 30.3.2005, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: 2
Всего: 20



Mace
Вроде то, что нужно, но использую метод <Spawn>. Но все равно "+" за старания.

<Spawn>
Респект smile
Добавлено @ 00:46
Mal Hack
Я в 2 ночи совсем не соображаю smile Но как я уже сказал, теперь вроде все работает. Все равно спасибо. Но плюс в следующий раз, ок? ;)


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
skalex
Дата 30.3.2005, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



Цитата
метод <Spawn>

Ну а если тебе надо отправить кучу одинаковых писем с одинаковыми вложениями, то что же, будешь каждый раз дергать метод add_attachment() ? ИМХО не универсальный подход ... Конечно он подходит для данного случая, но все равно я бы не советовал так делать...


Borland_Delphi_6, больщое спасибо за повышении репутации. smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1055 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.