Отправляет email-рассылки с помощью сервиса Sendsay

Perl, Bash, PHP.

Задача: сформировать базу данных MySQL (или иную) из текстового файла определенн

Добрый день, уважаемые коллеги!

Хочу снова обратиться за Вашей помощью.
Готов ее оплатить.

Сначала изложу суть задачи, которую нужно решить.
Если Вы можете ее решить успешно, то пишите мне,
мы обсудим возможные условия сотрудничества.

Итак.

Есть исходный файл текстового формата, в котором
содержатся письма (электронные), сохраненные в этот
файл по стандарту mail unix box. На самом деле, даже
если Вы не знаете этот стандарт, это не проблема,
т.к. файл можно просмотреть и легко станет понятно,
где там письма и где в них служебная информация.
Примерный формат этого текстового файла таков, что все письма
расположены линейно и разделены едиными разделителями,
начинаются со строго одинакового заголовка и т.п., т.е.
отделять письма друг от друга можно автоматически +
каждое письмо содержит заголовок и тело. В заголовке находится
служебная информация, четко структурированная. Подробнее
рекомендую посмотреть ссылку (о стандартах MIME для e-mail):
http://www.mhonarc.org/~ehood/MIME/

В файле примере, архив которого можно скачать по ссылке:
http://soros.cima.ru/temp/ctrlg-test-3-threads.zip ~55 kB
содержится 31 письмо, объединенные в 3 темы (цепочки).
Пример цепочки (темы) можно посмотреть по ссылке:
http://soros.cima.ru/temp/ctrlg-test-3-threads.png ~5 kB
В первой теме 15 писем, во второй 14 писем, в третьей 2 письма.
Все письма в кодировке KOI8-R, и закодированы в quoted printable.
Чтобы на выходе получить обычный текст, нужно будет декодировать
quoted printable текст. Я делал это в PHP с помощью функции
quoted_printable_decode(); Поскольку в этом формате в теме письма
появляются лишние символы, то я применял вот такую конструкцию
(переменная $sbj содержит в себе строку с темой письма):
$sbj = eregi_replace("=\?koi8-r\?Q\?","",$sbj);
$sbj = eregi_replace("\?=","",$sbj);
$sbj = quoted_printable_decode($sbj);
Возможно, Вы сами найдете более элегантный вариант перекодировки
текста, впрочем, суть задачи не в этом.

Задача:
На основе текстового файла mail unix box (см. архив примера по ссылке)
http://soros.cima.ru/temp/ctrlg-test-3-threads.zip ~55 kB
необходимо создать базу данных писем (предпочтительно в формате MySQL)
со следующими полями:

1) MessageID - ключевое поле, значения в нем не повторяются,
определяет уникальность письма (если при парсинге файла
вдруг обнаружатся 2 оиднаковых MessageID, то такое письмо-
дубль сохранять в виде отдельной записи не нужно);

2) From-mail - электронный адрес, с которого отправлено письмо;

3) Subject - тема письма;

4) Thread - ? - нужно подумать детальнее над этим полем,
пока предполагается следующее:
- поле пустое, если с этого письма начата новая тема
(т.е. письмо не ссылается ни на какое иное письмо,
т.е. иначе говоря, не найдены заголовки референсов),
- поле содержит MessageID письма, на которое есть ссылка,
(т.е. есть в заголовке письма хедер In-Reply-To: или
References:, на основе которых и определяется ссылка);

5) Date - дата формирования письма (в данном конкретном случае
берется из MessageID, т.к. он сформирован следующим образом:
20080208092323.7235***@e*****.subscribe
формат первой части таков:
ггггммддччммсс. после точки порядковый номер по нарастающей;

6) Time - время сообщения берется из MessageID (в нашем случае)
- время будет московское (т.е. для всех писем единое);

7) Text - текст письма, т.е. непосредственного его тело.

8) Atten - поле "внимание" - логическое - 1 если нужно привлечь
внимание к конкретной записи, 0, если не нужно.
- 1 присваивается, если тема письма начинается с Re: или
Re[ а поле Thread пустое (т.е. мы фиксируем разрыв цепочки).

При запуске программы (скрипта) должна формироваться база данных.
Если база данных есть (лучше такой вариант тоже предусмотреть), то
добавляются лишь те записи, которых там не было.

Вот, собственно говоря, всё.
Я буду рад любым откликам.

Если будут нужны какие бы то ни было уточнения, пожалуйста,
не стесняйтесь спрашивать меня. Вы можете общаться со мной
через этот диск.лист или писать мне напрямую (в теме обязательно
тогда напишите, что по поводу базы данных из Mail Unix Box):
slavnikov***@c*****.by
Моя ICQ: 115041944 (но е-мэйлом общаться надежнее)
Мой телефон: +375 29 629-30-43 (можно звонить или слать SMS).

ЗАРАНЕЕ ВСЕМ СПАСИБО!

p.s. Напоминаю, готов оплатить эту работу деньгами.

--
24.03.2008 - 13:01

С уважением, Славников Дмитрий
http://subscribe.ru/author/9810
E-mail: slavnikov***@c*****.by
Mobile: (+375 29) 629-30-43
ICQ: 115041944

   "Dmitry V. Slavnikov"   ответов: 0   2008-03-24 15:51:18 (#734406)

Регулярные выражения (RegExp'ы): нужна консультация и помощь

Добрый день, друзья!

Подскажите, есть в данном комьюнити специалисты по регулярным
выражениям?.. Может кто-нибудь помочь консультативной или практической
помощью?..

В качестве благодарности буду рад отключить Вам рекламу Subscribe.ru
сроком на год :) Стоимость услуги у самого Subscribe.ru = 300 p.

Итак, нужно силами регулярных выражений в PHP (а насколько я знаю,
PHP поддерживает и синтаксис регулярных выражений Perl'a) реализовать
следующее:

есть некий текст, состоящий из 3-х частей:
шапки, тела, подписи (или, как говорят, хедера, боди и футера).
Необходимо из текста убрать хедер и футер (я предполагаю делать
это с помощью функции eregi_replace(); или иной (может подскажете).

что известно, известно о части текста под названием "шапка"
(хедер):

во-первых, текст начинается именно с нее,
во-вторых, она занимает несколько строк, причем неизвестно сколько
(т.е. это может быть 3 строки или больше),
в-третьих, она может содержать любые символы (текст, числа и т.п.),
но заканчивается она всегда следующим образом: указан е-мэйл, часть
у которого постоянная (всегда) и выглядит так:
-lala@a*****.by
после этого е-мэйла может быть от нуля до нескольких пробелов, перевод
строки и длинная строка, составленная из знаков равно
т.е. типа: (точно не задано,
сколько их, т.е. число может менять, но в любом случае больше 30

удалить нужно будет всю шапку, включая ту строку, которая состоит из
этих знаков равно... на них просто ориентироваться нельзя, т.к. иногда
в середине шапки текста может присутствовать такая же линия из знаков
равно, но сочетание типа концовка е-мэйла пробелы (если есть) переход
строки и длинная линия из знаков равно является явным окончанием шапки.

Пример шапки:

. ля траляля ля .
.................... [ красивый текст ] ..............................
. 222 333 44 - числа (!) <= знаки разные
опять текст и числа 222 снова текст и числа 333 и еще немного текста -
числе 22-33-2008 опять текст и числа префикс.текст-lala@a*****.by
вот это был пример шапки - несколько строк, мы не знаем, что в ней
(может быть разное), но четко всегда она заканчивается одним и тем же.

теперь по поводу футера (или подвала)...

что известно про него - им заканчивается текст
количество строк в нем четко не определено, может изменяться, но зато
четко известно, с чего начинается подвал, а начинается он вот с такой
последовательности символов: тире звездочка тире (несколько - от 4)

-жгде после звездочки минимум идет четыре знака тира (но может идти
больше) причем явно известно, что на этой строчке кроме пробелов
(возможных, т.е. пробелы от 0 до не знаю скольки) ничего нет, это
знак начала футера

обращаю Ваше внимание, что ниже последовательность знаков начала
футера может еще раз повторяться, т.е. например так:

-жфутер шмутер тра ля ля
и еще какая-то строчка с разными знаками ! . " @ и т.п.
-жи снова какие-то строчки непонятной природы...

Вот. Надеюсь, что объяснил достаточно подробно.

Вот пример текста, над которым можно эксперементировать:
http://soros.cima.ru/temp/regexp-example.txt

и вот, что после удаления хедера и футера должно остаться:
http://soros.cima.ru/temp/regexp-result.txt

--
28.01.2008 - 11:01

С уважением, Славников Дмитрий
http://subscribe.ru/author/9810
E-mail: slavnikov***@c*****.by
Mobile: (+375 29) 629-30-43
ICQ: 115041944

   "Dmitry V. Slavnikov"   ответов: 1   2008-01-29 21:26:37 (#721321)

md5

Хочу совместить форум с сайтом, а в форуме пароли хранятся в виде md5.
Как средствами php преобразовывать это всё дело туда и обратно.

     ответов: 5   2006-03-07 22:52:48 (#523648)

Малыш в PHP.. кой чего напутал

Приветствую,

>2. Базы.
>.........
>Ещё маленький, но важный нюанс. При регистрации СЕЙЧАС возможно вводить
>Логин/Ник только Латиницу,цифры,_ и вроде всё.

СОРРИ! Всё нормально там с русскими логинами. Это я посмотрел куда-то не туда
или прочитал что-то где-та.. наверно при руссификации - в инглишн. варианте
ТАК было указано.

     ответов: 0   2005-06-04 02:50:02 (#378996)

Малыш в PHP - Карлсоны, ОТКЛИКНИТЕСЬ! ;-)

Приветствую,

Около 2х месяцев разбираюсь с проектом - движок выбирал, копался(юсь) с ним..

Сейчас довольно чётко обрисовались моменты/функции, которые требуют
дополнительной реализации или расширения. Движок DragonFly на базе Пост-Нюки.

Соответственно вопросы для начала:
1. идентификация юзеров там сделана Куками. Но в ПХП есть Сессии.
Объясните попроще в чём кардинальная разница (для кодинга и пользователя) и
насколько сложно переделать двиг на Сессии или добавить их, оставив иль
отключив как-то Куковую систему.

2. Базы. По умолчанию там mySql, но указано(в ПХП конфиге по кр.мере), что
можно и ПостгреСКуЛ заюзать, - тоже выскажитесь пожалуйста о
нюансах/различиях.
На мускул вроде в последнее время много нареканий было слышно в плане взлома.
Зависит ли от формата базы кол-во запросов к ней направляемых.. ядром или
компонентами.. имею ввиду какие-нить вспомогательные, служебные, проверочные
и т.д. запросы.
Ещё маленький, но важный нюанс. При регистрации СЕЙЧАС возможно вводить
Логин/Ник только Латиницу,цифры,_ и вроде всё. Русские низя. Насколько это
зависит от базы (или от чего вообще)? (МуСКуЛ там 4хх какой-то - "не хухры-мухры").
Да, кодировка страниц в UTF-8, если это как-то влияет.
Хостер вроде обе базы поддерживает. Денвер - тоже.

3. Копаясь с изучением-настройкой движка постоянно сталкиваюсь с совершенно
непонятными функциями, знаками... (ПХП я вообще-то практически не изучал)
существует ли что-то типа справочника, с описанием всех ПХП функций(тегов..
не знаю как зовутся) типа как есть для ХТМЛа, ЦССа... На русском конечно, с
инглишем далеко не волшебно. Буду благодарен за линк(и) или прямую заРАРеную
посылку на Мейл.
Если проанонсируете какую-нить славную книженцию/руководство по ПХП вцелом
(только на русском), типа "ПХП-это просто" или "ПХП за.. ХХ часов/дней" ;)
буду также ВЕСЬМА благодарен. Пока встречал в основном Инглишные варианты и
кажется пару заумных амбициозных типа учебников, открыв один как-то, - после
вступления все потенции читать далее куда-то улетучились. Папка с ним тут же
была с удовольствием стёрта мимо корзины... :(

Огромное СпасиБо за конструктивные ответы - посылки. :)

     ответов: 0   2005-06-03 16:32:06 (#378737)