PDA

Просмотр полной версии : Консольный скачиватель почты


QyRoN
17.12.2004, 19:37
Привет нужна консольная программа, которая может подключиться к заданному pop-ящику и сама скачать всю почту. При этом прога должна обладать 2 фичами:
1. Скачивать вложения (сохранять отдельно)
2. Помнить, что уже скачано а что ещё нет (при этом не удалять почту с сервера). Так чтобы, я мог запустить прогу на следующий день и она скачала только недостающую почту.

Заранее спасибо за любой совет.

Premium
18.12.2004, 12:49
QyRoN:
1. Скачивать вложения (сохранять отдельно)
getmail http://www.interlog.com/~tcharron/getmail.html

2. Помнить, что уже скачано а что ещё нет (при этом не удалять почту с сервера). Так чтобы, я мог запустить прогу на следующий день и она скачала только недостающую почту.Вот именно такой фичи у getmail нет, но можно пошаманить немного самому. Ты чем будешь запускать и передавать параметры комстроки, батником, скриптом, nnCron-ом?
Например можно перенаправлять вывод в лог-файл
Getmail -p mybox -nodelete -xtract -dir D:\getmail\mybox>daily.log
потом "выдрать" кол-во сообщений на данный момент в ящике и записать его в отдельный файл, батником например так

@echo off
for /f "tokens=3" %%a in (
'findstr "There are * messages on the server" daily.log'
) do echo %%a>count.txt
и при следующем приеме почты у getmail есть параметр -b N , принимать почту с N-ного сообщения, читаешь count.txt
for /f %%b in ('more^<count.txt') do set /a lastcount=%%b
set /a retrieve=%lastcount%+1
и getmail будет принимать только письма, пришедшие после последней проверки почты
Getmail -p mybox -b %retrieve% -nodelete -xtract -dir D:\getmail\mybox>daily.log
Поизгаляться в общем с любой консольной прогой можно, хоть с getmail, хоть с postie(http://www.infradig.com/postie/index.shtml) или zerat(http://ironfist.at.tut.by/zeratrus.htm)