Winrar команда -IEML [.][addr] (MAPI) #220674


#0 by NuF
Никто не использовал?
#1 by Alexor
Я использую, в чем проблема?
#2 by NuF
А где поподробней почитать ( Более подробно чем в справке) ? PS Идея такая что аинрар вызывается из командной строки, делит на части архив и присоединяет каждый кусок к своему письму. И отправляет. Вот :) Первая часть просто - а вот насчет присоеденить и отправить - инфы не хватает что бы разобраться.
#3 by Alexor
А в чем проблема пишеш Winrar.exe a НазваниеАрхива -ieml.xxx@xxx.xx -v1000 @files.txt @files.txt - текстовый файл с шаблоном, что архивируем, его записать в рабочий каталог ярлыка. или вместо него маску файлов указывай. Работает нормально. Через Outlook я правда не использовал, через The Bat работаем. В The Bat надо в свойствах указать "Использовать как обработчик simple mapi")
#4 by NuF
Нужно периодически отправлять кучу баз. Но не распределенкой. Простеньким батничком - пакетный режим 1с, выгрузка, деление на части, присоединение - отправка. Процесс будет выполняться бухами ,) так что хочется что бы было как можно меньше действий. :) Сейчас реализовал - отправка происходит через почтовую программу работающуюю в командной строке (Time_River_Mail). Но хочется иметь вариант и через Outlook. Бат не подойдет - некому у конечных пользователей будет поставить и учить пользоваться.. ,) xxx@xxx.xx - адрес получателя? winrar.exe a (откуда берем) -v100 (куда делим на части)
#5 by NuF
В Outlook - при отправке начинает запрашивать подтверждения на каждую часть - но в итоге ничего так и не приходит :( Может есть настройка подобная The BAT овской?
#6 by NuF
MAPI обязательно предпологает наличие MS EXCHANGE?
#7 by Стрелок
я пользуюсь. всё прекрасно работает. могу дать строку запуска для упаковки и отправки файла
#8 by NuF
если не сложно плз!
#9 by VVVV
Выложи здесь, или только приватно можно?
#10 by Стрелок
упаковка dbf из определённого каталога и отправка через установленный по умолчанию почтовый клиент (тестировал и на outlook и на The Bat) Стр=Симв+СокрЛП(КаталогАрхиватора)+"winrar.exe"+Симв+" m -ep -ieml"+Адрес+" "+Симв+СОкрЛП(КаталогОбмена)+ИмяФайла+".rar"+Симв+" "+Симв+СокрЛП(КаталогОбмена)+"*.dbf"+Симв;     Каталог архиватора - место расположения winrar Каталог обмена - каталог где находятся файлы для упаковки Адрес - адрес на который отправляем
#11 by Стрелок
Вообще может кому пригодиться. Процедура упаковки файлов. ВидОбмена - перечисление (дискета или интернет) имя файла - текущая дата+номер выгрузки по порядку (по наличию неотправленных файлов) Процедура Архивирование(ВидОбмена,Адрес)    Если СокрЛП(КаталогАрхиватора)="" Тогда        Сообщить("Не установлен каталог архиватора WinRAR. Упаковка данных отменена");        Возврат;    КонецЕсли;        ТД=Строка(ТекущаяДата);    ИмяФайла=Сред(ТД,1,2)+Сред(ТД,4,2)+Сред(ТД,7,2);    Номер=1;    ИмяФайлаПром=ИмяФайла;    Пока ФС.СуществуетФайл(СокрЛП(КаталогОбмена)+ИмяФайла+".rar")=1 Цикл        ИмяФайла=ИмяФайлаПром+Номер;        Номер=Номер+1;    КонецЦикла;    Если ВидОбмена=Перечисление.ВидОбмена.Дискета Тогда        Стр=Симв+СокрЛП(КаталогАрхиватора)+"winrar.exe"+Симв+" m -ep "+Симв+СОкрЛП(КаталогОбмена)+ИмяФайла+".rar"+Симв+" "+Симв+СокрЛП(КаталогОбмена)+"*.dbf"+Симв;        ИначеЕсли ВидОбмена=Перечисление.ВидОбмена.Интернет Тогда        Стр=Симв+СокрЛП(КаталогАрхиватора)+"winrar.exe"+Симв+" m -ep -ieml"+Адрес+" "+Симв+СОкрЛП(КаталогОбмена)+ИмяФайла+".rar"+Симв+" "+Симв+СокрЛП(КаталогОбмена)+"*.dbf"+Симв;        КонецЕсли;    ЗапуститьПриложение(Стр); КонецПроцедуры
#12 by Стрелок
процедуру распаковки выкладывать?
#13 by NuF
Ага :))
#14 by NuF
Зачарованно таращится в экран :)
#15 by NuF
+ а я покопаюсь и попробую сделать так что бы winrar делит на куски -v1000 и посылал каждый кусок отдельным файлом :)
#16 by Стрелок
//************************************* // Автор - Рупор Абсурда Процедура ПриостановитьВыполнение(СекЖдать=0,МожноПрервать=0,Сообщение="Ждите ...")     Перем ч,м,с;     ТекущееВремя(ч,м,с);     ТекСек=(ч*3600)+(м*60)+с;     КонСек=ТекСек+СекЖдать;     Пока СекЖдать>0 Цикл          Состояние(Сообщение+Строка(СекЖдать));          Если (МожноПрервать<>0) тогда               Прервать;          КонецЕсли;          ТекущееВремя(ч,м,с);          ТекСек=(ч*3600)+(м*60)+с;          СекЖдать=Макс(КонСек-ТекСек,0);     КонецЦикла; КонецПроцедуры //*********************************************** Процедура РаспаковатьФайл(ФайлДанных)    Если СокрЛП(Константа.КаталогАрхиватора)="" Тогда        Предупреждение("Не заполнена константа ""Каталог архиватора""");        Возврат;    Иначе        КаталогАрхиватора=СокрЛП(Константа.КаталогАрхиватора);    КонецЕсли;    Стр=Симв+СокрЛП(КаталогАрхиватора)+"rar.exe"+Симв+" e -y "+Симв+КаталогОбмена+ФайлДанных+Симв+" "+Симв+КаталогОбмена+Симв;    ЗапуститьПриложение(Стр);    Пока (ФС.СуществуетФайл(КаталогОбмена+"document.DBF")=0) или    (ФС.СуществуетФайл(КаталогОбмена+"recv_doc.DBF")=0) или    (ФС.СуществуетФайл(КаталогОбмена+"recv_spr.DBF")=0) или    (ФС.СуществуетФайл(КаталогОбмена+"spravoch.DBF")=0) Цикл        Состояние("Ожидание окончания процесса распаковки файлов");    КонецЦикла;    ПриостановитьВыполнение(5,,"Ждите... идёт распаковка данных... "); КонецПроцедуры
#17 by Стрелок
у меня в обменнике ниразу больше 200 кило в упаковке не получилось... так что мне это было не актуально
#18 by NuF
у меня по 8 мб бывает :( ОГРОМНОЕ СПАСИБО!
#19 by Стрелок
незачто ;))
#20 by Стрелок
во второй процедуре (распоковке) замени rar на winrar - это одна из промежуточных версий
#21 by NuF
А я уже практически сделал тоже самое через *bat и почтовик для командной строки :)
#22 by Стрелок
bat плох тем что в нём жёстко всё прописывается. а мой обменник настраивается ;)) пробовал в бат параметры передавать через переменные - потом плюнуд и сделал через 1С всё
#23 by NuF
Ок. ,) Еще раз спасиб ,)
#24 by Стрелок
НМЗЩ
#25 by NuF
а загрузка будет через скрипт (один хороший человек написал)
#26 by NuF
Только у меня вопрос - MAPI без EXCHANGE будет работать?
#27 by Стрелок
Скрипт чего делает? мне нужен такой, чтобы сам проверял почту на предмет наличия, получал и сохранял вложения в каком нибудь (даже фиксированном) каталоге. А 1С будет его проверять периодически и автоматом загружать. Пока этап получения и открепления файла в ручном режиме
#28 by NuF
+ а то меня напугали сильно :(
#29 by Стрелок
в бате?
#30 by NuF
Завтра вышлю, ок?
#31 by Стрелок
Честно скажу - я даже не знаю что это такое ;))))))) всё заработало само собой ;))
#32 by Стрелок
не вопрос ;))
#33 by NuF
нет. Как мне сказали ( и очень не хочется верить, а проверять буду прям щас) Эта фунция работает только когда аутлук работат через ms exchange server, вроде как очень опытный сисадмин сказал..
#34 by Стрелок
Какая функция? отправка через рар? да ну..... у меня всё работает без всяких дополнительных усилий. все настройки по умолчанию как операционка встала
#35 by NuF
Скрипт - проверят наличие файла - открывает конфигуратор - и производит загрузку. А сохранение файла хочу через "правила" аутлука настроить. Т.е. при получении писем с определенной темой он сохраняет вложения в определенной папке )
#36 by NuF
не rar..  -IEML [.][addr] - обращается к MAPI интерфейсу почтовой программы. Короче протестирую скажу :)
#37 by Стрелок
интересно..... расскажешь пример как
#38 by Стрелок
ну обратился и если подключение есть - сразу отправляет. нет - помещает на отправку. у меня с моим обменником две конторы через инет в авторежиме работают. без всяких доп настроек
#39 by NuF
завтра к вечеру надеюсь получить работающий пример - и подробно отпишусь ,) Хоть как то отблагодорю тебя и осталиных форумчан :)
#40 by Стрелок
не надо ощутимых благодарностей. Отпишешься - молодец. Главное чтобы помогло ;))) не корысти же ради ;))
#41 by NuF
Дык давно попогаешь(те) :))
#42 by Стрелок
не понял, но надеюсь ты меня щас не на .... послал ;)))))) сам когда то начинал и тоже спрашивал и тоже помогали ;))
#43 by NuF
Если вспомнить и по распределенке в 8ке помогал и еще где то ,)
#44 by Стрелок
да не вопрос.....
#45 by Alexor
Фиг знает, чего мудрить Только что и с оутлуком. В ярлыке пишем "C:Program FilesWinRARWinRAR.exe" a Proba -ieml.alexor5@yandex.ru @files.txt рабочий каталог e:arhiv содержимое files.txt e:ase1cv*.* e:ase*.dbf e:aseusrdefusers.usr Этот файл сохранен в e:arhiv Что бы не задавал вопросов в оутлуке, надо Сервис - Параметры - Безопасность, снять галку "предупреждать, если приложение пытается отправить от моего имени" И все!
#46 by Стрелок
зачем мне файл "проба"? мне файл нужен с определённым имененм и в определённом месте. ты думаешь я не пробвал так сделать?
#47 by NuF
А в аутлуке из состава офиса есть такая галка?
#48 by Alexor
+45 Строка если  надо разбивать по 1мб. И еще я закладываю в архив дату. alexor5@yandex.ru меняем на свойе имя Proba это название архива!!! C:Program FilesWinRARWinRAR.exe" a Proba_ -agDDMMYY-N -ieml.alexor5@yandex.ru -v1000 @files.txt
#49 by NuF
Через пакетный режим - нужное имя и нужное место
#50 by Alexor
Хз, по идее должно быть, ищи.
#51 by NuF
а в @files каким образ список файлов указать? Т.е. их же может быть разное кол-во (база то растет)
#52 by NuF
образ=образом
#53 by Alexor
Пример в 45 я попробовал на своем компе. Через Оутлук. На работе 15 филиалов высылают подобным макаром через Бат.
#54 by Alexor
Так указал же :( e:ase1cv*.* e:ase*.dbf e:aseusrdefusers.usr
#55 by NuF
Тупанул :)
#56 by NuF
Ага :)))) Сорри
#57 by Стрелок
Для каждого адресата свой батник писать прикажешь?
#58 by Alexor
+54 Имя файла files.txt Так на всякий случай. Он должен!! располагатья в рабочем каталоге, который указан в ярлыке.
#59 by NuF
ок.
#60 by Alexor
Если писать Bat, то можно все архивы делать. Так тоже было сделано, 4 базы автоматом архивировалось и отправлялось.
#61 by Стрелок
хотя конечно тоже вариант
#62 by NuF
А получаешь и распаковываешь как?
#63 by Alexor
Принимает Bat, там правило сортировки стоит, сохраняет вложение в папку. Там при необходимости ручками. Если будешь делать на автомате, учти что мой пример хранит полный путь. т.е. если твоя база располагается e:1casesproba то у тебя в архиве будет папка 1с, в которой bases, в которой содержимое proba. Лишних файлов нет, не переживай. если тебе будет мешать используй ключ -ep1, вроде он.
#64 by NuF
Я не про то. Скажем пришел архив из 5ти частей. сохранился в нужную папку. Как реализовывается объединение и загрузка? У меня пока скриптом - но он на целый файл. Либо к нему прикручивать winrar... либо как то еще объединять файлы. Еще, на будущее, чешу репу как сделать проверку кол-ва отправленных и принятых частей архива ( т.е. что бы число одинаковым было)
#65 by NuF
Всем еще раз спасибо :) До завтра, споки )
#66 by NuF
Хочу настроить бат файл для программы Time River Mail(почтовик для ком. строки)  должно получиться так: высылаются письма с присоединенными файлами на указанный адрес. (Это собственно и есть база поделенная на куски winrar'ом) Не могу понять как настроить что бы программа запускалась столько раз сколько файлов в папке и присоединяла только по 1му файлу (т.е. первое письмо +1 часть, второе +2я часть и т.д.). При этом кол-во частей меняется..  Подскажите что неправильно? В Files.txt лежит маска (C:ase*.*) Заранее спасибо. for %%a in (C:ase) do TRMail.EXE /Qcopyprof /N"Name" /Smailserv /Ffrom /Tmy_email@111.ru /O"To" /B"Subj" /L /A@Files.txt /CWindows-1251 /M <1 %%a
#67 by NuF
Alexor Через MAPI и аутлук пашет - огромное спасибо :) Просто хочется попробовать и так. PS Скрипт ближе к вечеру выложу.
#68 by NuF
Решение отправки через почтовик для командной строки - Первый файл ( скажем start.bat) for %%a in (C:ase*.rar) do b.cmd %%a //откуда берем файлы с архивами Второй файл (скажем b.cmd) TRMail.EXE /N"От кого Тест" /Ssmtp  /Faaaa@bbbb.cc /Txxx@bbbb.cc /O"Кому-Чему Тест" /B"Тест %1" /A%1 /L /CWindows-1251 /M <text.txt Где text.txt - это сам текст письма (если надо). //настройки почты и собственно отправка
#69 by NuF
+ почтовик -  Time River Mail
#70 by smaharbA
Не надоело еще ?
#72 by smaharbA
а что ЦДО нету ?
#73 by NuF
что такое ЦДО?
#74 by smaharbA
CDO.Message или надо из строки ?
#75 by NuF
Буду краток - не понимаю :) не дорос ,)
#76 by smaharbA
+ кстати можно и из строки сделать, непривлекая сторонние программы, и архивацию (рара тоже почемуто в системе нету :) ) и отправку
#77 by NuF
Но если объяснишь или скажешь где почитать - буду благодарен
#78 by smaharbA
CreateObject("CDO.Message") ищи, счас лениво примеры писать
#79 by NuF
- про рар выше - пакетный режим - выгрузка - рар - а потом отправка.
#80 by Alexor
Абрахамс предлагает тебе скрипт написать и не париться. Для твоего случая логично.
#81 by NuF
уже пашет все .)
#82 by smaharbA
кстати можно и несовсем скрипт, все в пакетнике прописать, както показывал как
#83 by smaharbA
а TRMail.EXE всюду есть ? или всегда при себе ? или инет вездесущь (бывают случаи, почта нужна хоть и инета нету) ?
#84 by NuF
Дык все равно каким то образом bat или скрип передавать _ и тот же TRM передать не сложно. Маленький он. скромный.
#85 by NuF
function sendmail {    var objEmail = WScript.CreateObject("CDO.Message");      objEmail.From = "адрес отправителя";      objEmail.To = "адрес получателя";      objEmail.Subject = "тема";      objEmail.Textbody = "текст";    objEmail.AddAttachment("путь к прикрепляемому файлу");    objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;      objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "IP SMTP сервера"      objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25;      objEmail.Configuration.Fields.Update;      objEmail.Send; } Типа такого?
#86 by smaharbA
да типо того
#87 by NuF
У меня уже работающие варианты с Outlook express, через почтовик, сейчас то что стрелок дал пробовать буду, а теперь еще и скрипт. Лучшее враг хорошего? :)
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С