|
|
|
прием почты
|
|||
|---|---|---|---|
|
#18+
возник такой вопрос как лучше сделать автоматический прием и анализ почты на Linux RedHat, чтоб от определенных отправителей все складывалось в отдельный файл,а затем еще и разбирало сообщение, т.е текст сообщения в текстовом виде в файл, а вложенные файлы сохроняло отдельно ( для их , скажем, дальнейшей обработки ) ? Ну , первым делом приходит мысль об исп-ии fetchmail, кот. можно запустить демоном. А дальше как то разбирать уже локальное хранилище.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 07:11:02 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
ну начнем стого - что неописан какой MТA - те почтовик у меня , к примеру qmail, соответственно я входящую почту могу чекить парсить итд как мне угодно через перенаправление | а fetchmail это всего лишь агент осушествляющий локальную доставку - те залогинился на сервак провайдера (вдруг до меня что не дошло и упало на младший мх - мх-провайдера) и передать это МТА или прям локальному пользователю. Если же тебе нало просто разбирать локальную почту - то тебе все равно придется писать на каком то языке толи перл - толи питон вот в питоне например есть замечательный модуль rfc822 к примеру так что все в твоих руках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 09:46:36 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Меня тоже интересует тот вопрос. Мне надо забирать с почтового ящика сообщения с конкретним сабджектом и складивать где-то атачменти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 10:58:41 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
ну собств. да, интересует разбор почты perl и питон я незнаю, недолжно быть так все сложно ... ну, пока что такие мысли 1. значит настроив fetchmail + procmail у меня почта попадает допустим в файл $HOME/Mail/default 2. по cron запускается shell scipt который разгребает этот уже локальный ящик default суть работы скрипта будет просмотреть заголовки писем напредмет отправителя и для его сообщений сбросить вложенные файлы в определенный каталог для парсинга думаю может хорошо подойти стандартная программка nail http://nail.sourceforge.net/ так командой Код: plaintext допустим нам подходит 1-ое сообщение, тогда делаем Код: plaintext далее играем командами cp .. и ящик можно очистить Код: plaintext как вам такая идея? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 11:10:36 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
можна подробней о nail Я с помощью fetchmail перенаправил почту юзеру oracle затем из под oracle-а делаю Код: plaintext Создал ему таой фалй теперь получаю Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 15:04:22 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
так это скорее не в nail дело nail это тот же mail вообще так бы и простой mail подошел, только он вложения не отделяет, да и у nail ключей поболее ... а у вас fetchmail точно почту принимает? если он принимает, то возможно не в /home/oracle/mbox, а в /var/spool/mail/oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 15:28:12 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
fetchmail точно почту принимает и принимает ее в /var/spool/mail/oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:00:29 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
тогда наберите nail -H должно показать заголовки писем ключ -f нужен только если ящик в другом месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:07:02 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
sanek842тогда наберите nail -H должно показать заголовки писем Показало, а как мне атачменти записать куда надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:14:46 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
echo w * bodyfile | nail в текущем каталоге появятся все вложенные файлы из всех писем , а в файл bodyfile свалит все тела сообщений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:23:28 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Все правильно, fetchmail должен забирать сообщения с серверов, но затем нет смысла складывать это куда-то. У fetchmail есть настройка, чтобы он скармливал, то что получил определенной порграмме или MTA. Типа poll pop.mail.ru with proto POP3 user 'hren' there with password 'hren0vipassword' is 'hren' here mda /usr/bin/procmail Тут полученные сообщения скармливаются procmail-у для дальнйшей доставки. Вы можете скармливать их _своей_ самодельной пограмме, которая будет делать что-то с сообщением (разбирать складывать или что еще хотите), а потом доставлять в ящик, или еще проще вызывать procmail и отдавать ему что надо на доставку. В качестве базы для "своей" программы я бы порекомендовал python потому что у него хорошие средства разбора почтовых сообщений в стандартной бибке или perl (потому что на CPAN можно найти что хошь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:30:59 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Короче я немного понял так я получаю номер нужного письма Код: plaintext Код: plaintext А вот как мне номер нужного письма передать? На сколько я понял ето будет скрипт 2-3 строчки но сам написать их немогу, я новичок в етом деле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:40:20 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
sanek842echo w * bodyfile | nail в текущем каталоге появятся все вложенные файлы из всех писем , а в файл bodyfile свалит все тела сообщений Так не пашет матерится вот так Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 16:56:42 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Я сделал так Код: plaintext 1. Буду по одному письму обрабативать и срасу же его удалять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 17:22:21 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
to Stepan_mk - No applicable messages похоже пишет когда вложенные файлы уже существуют на диске ... - удалить все похоже можно так echo d*\nq | mail - скрипт можно примерно такой сделать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. вы меня спрашиваете, я сам то буквально сегодня это раскопал вообще интересно было бы увидеть еще какие-нибудь варианты ... to Хрен а вы можете привести какие-нибудь ссылки по разбору почты ( пусть на том же perl )? P.S. хотя с nail вроде тоже ниче ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 17:38:26 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
да, и еще мысли по удалению я бы не стал автоматизировать удаление почты, пускай складируется локально у пользователя, в данном случае oracle. А то если что то где то не отработает , потом звони-запрашивай архив снова .... Либо ручками (все проверив), либо после обработки принятых файлов ( допустим уверен что загрузка в базу прошла без ошибок ) P.S. все, пора домой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 18:13:05 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
sanek842да, и еще мысли по удалению я бы не стал автоматизировать удаление почты, пускай складируется локально у пользователя, в данном случае oracle. А то если что то где то не отработает , потом звони-запрашивай архив снова .... Либо ручками (все проверив), либо после обработки принятых файлов ( допустим уверен что загрузка в базу прошла без ошибок ) P.S. все, пора домой :) Я после обработки буде файл копировать в архив где оно будет лежать некоторое время У меня еще такой вопрос У меня уже есть тот файл записан на диске, я написал скрипт такой Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 16:49:20 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Пока што застрял на таком кОГДА ЗАПУСКАЮ СКРИПТ: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 18:12:50 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
ну вопервых ls -l|grep ???_??????_*.rar|awk '{print $9}' можно переписать проще ls -1 ???_??????_*.rar ( ls c ключем единичка - list one file per line ) что касается скрипта test.bsh , обычно завертывается sql в sh, а не наоборот пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. если хотите получить список файлов за один вызов sqlplus , то алгоритм такой - в sh сохранение списка в файл - а в блоке plsql через пакет utl_file P.S. короче уже oracle попер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 07:23:52 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
sanek842 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Попробовал и получил Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 09:38:31 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
так может выдавать если на 15-ой строке знак ! стоит несначала строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 09:50:36 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Ну и раз уже оракл попер то еще такая загвоздка теперь Я визиваю процедуру которая через OUT параметри мне должна что-то повернуть в скрипт что-то вроде того Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 11:20:30 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
вернуть значение можно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. еще про nail тут покопался, неплохой вариант подобрал Код: plaintext 1. 2. 3. 4. далее можно писать другие скрипты - на обработку Stepan_mk, а опишите полностью вашу задачу, кот вы реализовываете, и зачем эта RECIVER.UPDATE_SCHEMA.checkfile ( что она делает )? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 12:55:53 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
sanek842 Stepan_mk, а опишите полностью вашу задачу, кот вы реализовываете, и зачем эта RECIVER.UPDATE_SCHEMA.checkfile ( что она делает )? Задача у меня такая. Я когда-то давно написал репликацию ораклових серверов 27=>1 методом: сбор данний, експорт, отправка почтий, прийом почти, імпорт, репликация. Раньше главний сервак бил по віндой, для него я написал программу на Делфи которая принимала почту проверяла порядк файли если все ОК то импортировала в временную схему и запускала процес репликации. Потом я перешел на линукс и пришла необходимость пепреписать ту програмку на линуксе. RECIVER.UPDATE_SCHEMA.checkfile проверяет не устарел ли файл что пришел почтой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2004, 11:34:57 |
|
||
|
прием почты
|
|||
|---|---|---|---|
|
#18+
Какой-то глючок проскакиевает. Немогу виловить. Вот исходник маленього скрипта. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Что он должен делать: 1. Ферчит почту з другого сервака ОК 2. Читает почту и записивает файл что в атачменте на диск, а текст письма в файл body. Здесь какраз и проблемка. почемуто не все сообщения обрабативаются. 3. Удаляется каждое сообщение 4. запускается скрипт на обработку файлов. Как мне виловить ошиПку в пункте 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 16:12:26 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=32760568&tid=1490018]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 303ms |

| 0 / 0 |
