Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Отправка по почте и перемещение файла одновременно!!! (http://forum.oszone.net/showthread.php?t=218319)

malder 19-10-2011 00:48 1776515

Отправка по почте и перемещение файла одновременно!!!
 
Доброго времени суток уважамые.
Помогите решить некую задачку, или дать совет как лучше реализовать.
Каждый день мне приходят определенные файлы по очереди в определенную папку их количество может быть до 30 напротяжения рабочего дня, я их открываю обрабатываю и потом отправляю по почте (по умолчанию стоит Lotus). Для самоконтроля обработанный файл я перемещаю в определенную папку D\:Обработан.
Как можно реализовать чтобы при отправке файла по почте он автоматически перемещался в папку D:\Обработан с интервалом 3-4 секунды, тоесть сначала формируется письмо на отправку с прикрепленным файлом, а потом через 3-4 секунды он перемещается.
Обычно отправку файла делаю через контекстное меню правой кнопкой на файл-Отправить-Адресат.
Может быть назначить определную комбинацию кнопок при которых будет осуществлятся и отправка по почте и перемещение.

Anonymоus 19-10-2011 03:54 1776556

Возможно, вам подойдет решение на bat?
Сохраните этот скрипт в кодировке 866, если предстоит иметь дело с путями, содержащими русские буквы, создайте директорию - например, в Program Files, положите рядом со скриптом три файла - blat.dll, blat.exe и blat.lib, скачать их можно здесь.
Далее, создайте ярлык к скрипту, назовите его как вам нужно, и переместите его в папку SendTo (в WinXP ее расположение - %UserProfile%\SendTo)

Код:

@Echo Off
:: Директория для перемещения
Set TargetDir=D:\Обработан
:: Получатель
Set EMail=guest@mail.ru
:: Почтовый сервер для отправки
Set Server=smtp.mail.ru
:: Логин
Set Login=script.backup@mail.ru
:: Пароль
Set Password=test123

Set File="%~1"
blat.exe -server %Server% -u %Login% -pw %Password% -subject "Backup" -body " " -to %EMail% -f %Login% -attach %File%>nul
If %ErrorLevel%==3 (Echo Невозможно прикрепить файл&Pause&Exit)
If %ErrorLevel%==2 (Echo Неверный логин\пароль&Pause&Exit)
If %ErrorLevel%==1 (Echo Сообщение отправить не удалось&Pause&Exit)
Move %File% "%TargetDir%"
If %ErrorLevel%==1 (Echo Перемещение файла не удалось&Pause&Exit)
Exit

Если вам нужно указать определенную тему или текст письма со вложенным файлом, обратитесь к встроенной помощи программы blat - blat.exe /?

Отправка файла произойдет так же, как вам и привычно - через контекстное меню > Отправить > имя ярлыка.
Вот еще, забыл уточнить - адрес для отправки у вас один и тот же, или разным адресатам шлете? Если разным, то можно добавить диалог для ввода адреса при отправке.

malder 19-10-2011 14:13 1776860

Добрый день, пасибо за помощь, сегодня дома попробую.
Адресаты постоянно разные, тоесть у меня есть группы рассылки разные. Но это уже второй вопрос на будущее.

Anonymоus 19-10-2011 16:35 1777010

malder, вот вариант с запросом адреса

Код:

@Echo Off
:: Директория для перемещения
Set TargetDir=D:\Обработан
:: Почтовый сервер для отправки
Set Server=smtp.mail.ru
:: Логин
Set Login=script.backup@mail.ru
:: Пароль
Set Password=test123

If Not Exist "%TargetDir%" MD "%TargetDir%"
Set /p EMail=  Введите адрес:
Set File="%~1"
blat.exe -server %Server% -u %Login% -pw %Password% -subject "Backup" -body " " -to %EMail% -f %Login% -attach %File%>nul
If %ErrorLevel%==3 (Echo Невозможно прикрепить файл&Pause&Exit)
If %ErrorLevel%==2 (Echo Неверный логин\пароль&Pause&Exit)
If %ErrorLevel%==1 (Echo Сообщение отправить не удалось&Pause&Exit)
Move %File% "%TargetDir%"
If %ErrorLevel%==1 (Echo Перемещение файла не удалось&Pause&Exit)
Exit


malder 19-10-2011 17:11 1777062

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

Хотелось бы сделать в таком плане, когда выделяю файл правой кнопкой далее отправить-адресат, то автоматом формируется письмо с вложенным этим фалом. Вот бы хотелось скриптик который в последствии вложу в send to, выделяю файл правой кнопкой отправить-далее имя скрипта, и он формирует процедуру как в случае с отправить-адресат и потом через 4 секунды перемещает в определнную папку этот файл.


Время: 11:51.

Время: 11:51.
© OSzone.net 2001-