![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Гость_Alex |
|
|||
Unregistered |
Здравствуйте!
Собственно встала проблема. Нужно написать почтового робота на Perl. Основные требования такие: 1. Прием писем на определенный адрес. 2. Разбор письма (на head и body) и сохранение вложения на диск. С п.1 понятно, а вот с п.2 проблема. Может, кто знает соответствующие модули или готовые скрипты, посоветуйте. Заранее благодарен. |
|||
|
||||
ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: нет Всего: 9 |
что значит "Прием писем на определенный адрес." ???
-------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
Guest |
|
|||
Unregistered |
Я имею ввиду, что после получения письма на определенный адрес (например [email protected]) скрипт начинает работать. Другими словами sendmail отсылает письмо на вход данной программы. (Test: "|/usr/home/test.pl"). Скрипт считывает входной поток (из STDIN) и т.д. Вот приблизительно так я представляю.
|
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
логично.
А по второму пункту: регекспы(регулярные выражения). В книге О`Рейли "регулярные выражения" описана система разбора письма. Советую купить за 200р и почитать - можная вещь. |
|||
|
||||
Guest |
|
|||
Unregistered |
Книга это, конечно хорошо. Но, пока найдешь, пока купишь... время уходит.
В принципе, разбор письма без вложения и отправленного простым текстом задача не такая уж и сложная задача. (От начала и до первой пустой строки - заголовок, все остальное -тело) . Затык в том,что письмо содержит с вложение. |
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
Так с чем имено сложность, опиши!
|
|||
|
||||
Guest |
|
|||
Unregistered |
Как выдернуть вложение, раскодировать и сохранить на диск.
|
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
запость пример письма с вложением и то как ты его пытаешься азобрать.
|
|||
|
||||
Гость_Alex |
|
||||||
Unregistered |
Вот пример письма.
Все это мне сделал вот такой скрипт.
А, как разобрать ума не приложу. может быть так:
а дальше не знаю. |
||||||
|
|||||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
думаю что надо читать файл построчно и искать Content-disposition: attachment;
а затем копировать всё в переменную до строки содержащей --Message-..... Искать лучше регекспами, примерно так
Добавлено @ 14:13 P.S. Я тоже хотел написать такую программу, что бы она сортировала почту и отправляла мне уведомления на сотовый, но не судьба ![]() |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 4 Всего: 83 |
Писал для свое фирмы систему обработки возвратов писем после рассылки. Алгоритм (упрощенно), применительно для тебя, может быть такой:
(естественно use POP3Client;)
Наверное так... |
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
GoodBoy
класный скрипт, повешу себе, пусть разбирает почту с ящика, куда будут сыпаться все уведомления с форумов и с других скриптов. Добавлено @ 16:18 POP3Client - стандартная библиотека? |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 4 Всего: 83 |
Secandr
Это конечно все ОЧЕНЬ упрощенно... У меня так работает робот, который собирает возвраты от мэйл-демонов после проведения рассылки. Потом начинается анализ причин, по которым письмо не доставлено (блин с разных серваков такие перлы приходят... только сообщение о том, что такого пользователя не существует мне встречалось более чем в 80 видах...) А ваще, вот примерный хэш ошибок:
клёво, да??? всего более 250 разных вариантов сводятся к этим классам... Добавлено @ 16:31 POP3Client - на CPANe есть. |
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
буду пользоваться но позже.
Где взять этот POP3Client ? |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 4 Всего: 83 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |