![]() |
Отправка почты с вложением
Добрый день. Есть the Bat v.3 и есть папка C:\otpravka\ в которую периодически кидаются файлы с расширениями *.014 и *.015. Нужен скрипт, который бы каждый файл из папки отправлял отдельным письмом. Почта отправителя otpravitel@mail1.mail2.ru
Файлы с расширением *.014 необходимо отправлять на poluchatel1@mail1.mail2.ru. Файлы с расширением *.015 необходимо отправлять на poluchatel2@mail1.mail2.ru Тема всех писем одинаковая - INFO |
Код:
#Powershell script. |
sunnykey, большое спасибо, протестировать получится только в понедельник, вопрос - будут ли письма отображаться в Отправленных в the Bat при отправке через этот скрипт
|
Цитата:
|
Цитата:
|
Вот команда для отправки письма
thebat.exe /MAILU=otpravitel;TO= poluchatel1@mail1.mail2.ru;S=INFO;A=C:\otpravka\*.014;SEND , но как ее заставить отправлять в одном письме только один файл, названия файлов различные, т.е. допустим в папке C:\otpravka\ три файла 111.014, 222.014, 333.014 каждый файл нужно отправить отдельным письмом |
Попробуйте так
Код:
Set put=C:\otpravka |
Цитата zion87:
Попробуйте так Код: Set put=C:\otpravka For /f "Delims=" %%i In ('Dir /b "%put%\*.014"') Do ( thebat.exe /MAILU=otpravitel;TO=poluchatel1@mail1.mail2.ru;S=INFO;A="%put%\%%i";SEND ) » Думаю правильнее будет перечислить вложения через запятую, а то вдруг этих файлов тьма и столько же исходящих будет Код:
#Powershell script. |
Цитата:
Спасибо всем, проверю в понедельник, тогда отпишусь |
sunnykey, foma24, как правило, важно не количество, а суммарный размер: у многих бесплатных публичных серверов есть ограничения на размер вложений (а у некоторых — и на их количество на письмо).
|
Цитата:
|
Цитата:
|
Всем спасибо, все работает как нужно.
|
Здравствуйте еще раз, пришлось поднять тему, возник новый вопрос. Использую этот скрипт:
Set put=C:\otpravka For /f "Delims=" %%i In ('Dir /b "%put%\*.014"') Do ( thebat.exe /MAILU=otpravitel;TO=poluchatel1@mail1.mail2.ru;S=INFO;A="%put%\%%i";SEND ) del /Q c:\otchet\*.014 проблема в том, что похоже пока письмо еще формируется скрипт успевает удалить файл, в итоге письмо уходит без вложенного файла, как можно исправить таую ситуацию ? |
foma24, а ежели попробовать исполнять «thebat.exe» посредством «start /wait»?
|
Цитата:
Код:
C:\>timeout /? |
спасибо, попробую
|
небольшая проблемка, почему то при вводе timeout /? появляется
"TIMEOUT" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Хотя на другом компьютере все нормально, может что то с Path ? |
Решил попробовать отправить почту посредством bat. Скопировал исполнительный файл в папку (библиотеки не копировал, не знаю, нужны ли?), почитал мануал http://www.nobat.ru/cmd_intro.html, но при запуске батника(код.866)
Код:
thebat.exe /MAILU=почта@yandex.ru;TO=почта@gmail.com;S=proba;A="c:\2\файл.jpg";SEND |
а если в bat войти просто такого окна нет, такое ощущение что почтовый ящик просто не заведен ?
|
Цитата:
|
Цитата:
По оф. мануалу это приложение есть в WinXP и выше http://technet.microsoft.com/en-us/l...=ws.10%29.aspx |
нет его там, хотя XP стоит
|
sunnykey, не верьте. Ни в Windows 2000, ни в Windows XP его нет (только в Resource Kit'ах, с отличающимся форматом).
foma24, что скажете по поводу «start /wait»? |
Цитата:
Цитата:
Код:
start /wait thebat.exe /MAILU=otpravitel;TO=poluchatel1@mail1.mail2.ru;S=INFO;A="%put%\%%i";SEND |
Iska, «start /wait» опробую завтра и отпишусь, спасибо
|
Немного поменялась проблема, батник такого вида:
Set put=C:\otchet1 Set put1=C:\otchet2 For /f "Delims=" %%i In ('Dir /b "%put%\*.*"') Do ( "C:\Program Files\The Bat!\thebat.exe" /MAILU=otpravka@mail.ru;TO=poluchenie1@mail.ru;S=INFO;A="%put%\%%i";SEND ) For /f "Delims=" %%i In ('Dir /b "%put1%\*.*"') Do ( "C:\Program Files\The Bat!\thebat.exe" /MAILU=otpravka@mail.ru;TO=poluchenie2@mail.ru;S=INFO;A="%put1%\%%i";SEND ) del /Q C:\otchet1\*.* del /Q C:\otchet2\*.* Данный батник установлен в Назначенные задачи, чтобы отрабатывался каждые 2 минуты начиная с 9-00. Сам the bat включается автоматически при запуске винды раньше чем начинает работать батник. Так вот при первом запуске батника в 9-00 он просто удаляет файл и не отправляет его, если повторно положить файл в папку, то он отправляется. |
[q=foma24]Так вот при первом запуске батника в 9-00 он просто удаляет файл и не отправляет его, если повторно положить файл в папку, то он отправляется. »
а если перед удалением добавить Код:
ping -n 30 127.0.0.1>nul |
попробую, но уже утром в понедельник, спасибо
|
а не проще удаление файлов сунуть в соответствующий цикл-удаление после успешной отправки?
Код:
For /f "Delims=" %%i In ('Dir /b "%put%\*.*"') Do ( |
Цитата:
sov44, попробую спасибо |
Я третий раз настоятельно рекомендую опробовать запуск «thebat.exe» на исполнение посредством «start /wait».
|
Цитата:
Цитата:
Видно все дело в самом почтовом клиенте, если он включается и начинает проверяет почту до включения интернета, то появляется ошибка, что сервер недоступен. Очень похоже, что через командную строку он не проверяет сервер, т.е. видит что сервер недоступен и письмо не отправляет, при этом батник считает что команда выполнена успешно и удаляет файлы. |
Цитата:
|
Похоже все дела было в the Bat v3 , поставил 4 версию (к счастью лицензия была), все вроде нормально работает
|
Время: 03:15. |
Время: 03:15.
© OSzone.net 2001-