Функция для переформатирования MiME-писем на PHP5
Нужно написать функцию на PHP5 для переформатирования писем в формате message/rfc822.
function reformat( &$source, $code_begin, $code_end, $file_extension='', $file_content='')
Параметры:
$source
$code_begin
$code_end
$file_extension
$file_content
Что делает функция: возвращает переформатированное письмо.
Суть переформатирования:
1) Если письмо (или текстовая часть multipart-сообщения) в txt-виде, то оно конвертируется в HTML-вид без изменения кодировки. Текстовая часть оформляется с помощью тэгов
2) Если не пусто $file_extension: Используя $file_extension мы создаём уникальное имя файла с расширением $file_extension, которого точно нет в аттачментах этого письма.
3) Заменяем {SOME_VAR} в переменных $code_begin, $code_end на полученное имя файла
4) Добавляем $code_begin в тело письма сразу после открывающего тэга
5) Добавляем $code_end в тело письма перед закрывающим тэгом
6) Если не пусто $file_extension: Добавляем в аттачменты файл, имеющий содержимое $file_content с именем вычисленным в пункте 2. Для этого файла указывается правильный MIME-тип. Это картинка.
Сообщения могут быть в форматах text/plain, multipart/related (текстовая часть в HTML или текстовая),
multipart/mixed, multipart/alternative. Короче говоря, во всех распостранённых форматах.
Также нужно написать небольшой скрипт для проверки основного скрипта. Суть проверки: я даю архив с 100 сообщениями. НЕбольшой скрипт перебирает все письма из определённой директории и записывает сконвертированные письма в другую директорию. А потом из другой директории я буду импортировать письма в почтовый клиент, чтобы проверить правильность работы скрипта.