PDA

Показать полную графическую версию : [решено] НУЖЕН Скрипт на VBS ДЛЯ отправки документа на почту


Страниц : 1 [2] 3

NEOINFORMATIONIS
17-11-2019, 21:29
http://ifconfig.me/ip этот адрес указывает мой настоящий ip адрес!

ISKA?, этот адрес: http://ifconfig.me/ip указывает мой настоящий текущий ip.

Iska
17-11-2019, 21:48
Документ выгружается из 1С каждый раз при создания бекапа... »
Ну так и писать тогда надо там же, где находится код запуска создания backup'а 1С, а не играться в ожидание, бо сие может и на несколько часов растянуться.

Ибо все сотрудники в разное время сохраняют материал, как только они сохранили информацию, документы должны сразу же отправляться из указанной директории мне на почту или на почту иного лица не суть. »
Так Вы определитесь — то ли это у нас backup 1С, то ли формирование некоей выгрузки из 1С. Это совершенно разные вещи. В последнем случае вообще надо писать на 1С в той же самой обработке, которая вызывает процедуру обработки для выгрузки.

документ появляется каждые 2-3-4-5 минут »
Ну, это точно не backup 1С :).

Короче говоря, документ появляется каждые 2-3-4-5 минут в папке расположенный скажем по такому адресу: C:\Мои проекты\0135\txt.
И как только появиться сразу же он должен отправиться на почту. »
Вы понимаете, что документ может сначала «появиться», и лишь потом заполняться информацией?

Далее, что с ним (документом) потом происходит? Он так и продолжает валяться в данной папке?

Парень который ведет у нас лабы аспирант, иногда такую дичь задает что так и хочется им сказать в лицо.... Но куда деваться, мне надо это только пережить. »
Я не вижу здесь никакой «дичи». Самая банальная типичнейшая офисная задача по автоматизации. Так или иначе, Вас можно лишь поздравить, что Ваш преподаватель пытается приобщить Вас к задачам, худо-бедно приближённым к реальности, а не заставляет тупо набивать «тексты в Ворде», «таблички в Екселе» и лепить непотребство, ошибочно именуемое у нас «презентациями» в PowerPoint'е.

+ ко всему этому нужно (желательно) отправить и мой ip адрес на почту, чтобы удостоверить с какой машины был отправлен документ.

Нужен другой способ по правильному, чтобы отсылал ip на почту.

Что скажете ISKA??!»
Я в четвёртый (и, пожалуй, последний) раз спрошу у Вас:
Что Вам говорит, например, http://ifconfig.me/ip (конкретики не надо, достаточно указать, что приведённый им адрес соответствует действительности)? »

NEOINFORMATIONIS
17-11-2019, 21:53
Честно говоря мне и самому интересно заниматься нечто подобным...просто у него такой дотошный характер что все на свете забываешь )

(ISKA,Ну, это точно не backup 1С . ) ВЕРНО ЗАМЕЧЕНО ОДНАКО,СКАЖЕМ ТАК ХИТРОЖОПАЯ ЗАДАЧА)) :mail1:

ISKA, на счет папки... да, так и есть, она будет валяться в той же папке пока его скрипт не заметит и не отправит на почту.

В скрипте где отправляет на почту, просто нужно дописать функцию мониторинга, для обнаружения документа, скажем так: скрипт следит за документом с названием (dog.txt.) каждые 5 сек проверяет на наличии его присутствия, как только находит сразу же шлет на почту. ВОТ И ВСЕ!!!

Конечно, нужно еще в этом же коде дописать чтобы она отправляла еще мой внешний ip адрес на почту.

NEOINFORMATIONIS
17-11-2019, 22:33
Конечно, нужно еще в этом же коде дописать чтобы она отправляла еще мой внешний ip адрес на почту.

Iska
17-11-2019, 23:36
Сколько времени формируется этот документ? По максимуму?

каждые 5 сек проверяет на наличии его присутствия, как только находит сразу же шлет на почту. ВОТ И ВСЕ!!! »
Дальше-то что с ним происходит? Или должно происходить? Мы ведь не одним документом ограничиваемся, так? Что должно происходить, когда будет сделана попытка формирования ещё одного документа?

Iska
17-11-2019, 23:56
В общем, вот Вам одноразовая болванка:
Option Explicit

Const cdoSendUsingPort = 2
Const cdoBasic = 1

Const strConstPartOfSchema = "http://schemas.microsoft.com/cdo/configuration/"


Dim strSourceFile
Dim strContent


strSourceFile = "C:\Мои проекты\0284\Source\Sample.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
Do
WScript.Sleep 100
Loop Until .FileExists(strSourceFile)

WScript.Sleep 5 * 1000

With WScript.CreateObject("Microsoft.XMLHTTP")
.open "GET", "http://ifconfig.me/ip", False
.send
strContent = .responseText
End With

With WScript.CreateObject("CDO.Message")
.From = "dostupmne@bk.ru"
.To = "dostupdai@bk.ru"
.Subject = "File [" & strSourceFile & "]"

.TextBody = "External IP: " & strContent
.TextBodyPart.Charset = "windows-1251"

.AddAttachment strSourceFile

With .Configuration.Fields
.Item(strConstPartOfSchema & "smtpserver") = "smtp.mail.ru"
.Item(strConstPartOfSchema & "sendusing") = cdoSendUsingPort
.Item(strConstPartOfSchema & "smtpserverport") = 465
.Item(strConstPartOfSchema & "smtpauthenticate") = cdoBasic
.Item(strConstPartOfSchema & "sendusername") = "dostupmne@bk.ru"
.Item(strConstPartOfSchema & "sendpassword") = "12345qwW"
.Item(strConstPartOfSchema & "smtpusessl") = True

.Update
End With

.Send
End With
End With

WScript.Quit 0

NEOINFORMATIONIS
18-11-2019, 09:42
Iska, нет, ограничиваемся именно одним документом.
Кстати, протестировал данный скрипт, ничего на почту не отсылает ни какого документа и ни какого ip адреса нету! :(

Iska, нет, ограничиваемся именно одним документом.
Кстати, протестировал данный скрипт, ничего на почту не отсылает ни какого документа и ни какого ip адреса нету! :(

DJ Mogarych
18-11-2019, 10:25
Час от часу не легче - здесь студент-безопасник, который не учится и хочет, чтобы за него всё сделали, в соседней ветке - чудо-программист БД.

NEOINFORMATIONIS, зачем вам такая "учёба"?

NEOINFORMATIONIS
18-11-2019, 11:06
DJ Mogarych, Спасибо за заботу, но в моем случаи это необходимо!!
Но Вам наверное не понять...

DJ Mogarych, Спасибо за заботу, но в моем случаи это необходимо!!
Но Вам наверное не понять...

DJ Mogarych
18-11-2019, 11:15
Конечно, не понять. Главное, чтобы вы понимали.

NEOINFORMATIONIS
18-11-2019, 11:59
DJ Mogarych , долго будешь доставать??!

NEOINFORMATIONIS
18-11-2019, 12:53
DJ Mogarych , долго будешь доставать??!

ISKA, код который вы мне скинули не работает, ошибку не выдает , но и ip не отправляет на почту.

ISKA, код который вы мне скинули не работает, ошибку не выдает , но и ip не отправляет на почту.

Iska
18-11-2019, 14:00
Кстати, протестировал данный скрипт, ничего на почту не отсылает ни какого документа и ни какого ip адреса нету! »
ISKA, код который вы мне скинули не работает, ошибку не выдает , но и ip не отправляет на почту. »
Взял вышеприведённый код. Заменил адреса, пароли и пути на свои. Запустил скрипт. Скопировал в каталог C:\Мои проекты\0284\Source файл Sample.txt, и, спустя пять секунд, скрипт отправил мне на почту данный файл, указав в теле письма мой внешний IP-адрес. Получил письмо:
https://i.imgur.com/p4Yf2N5.png
на указанный адрес.

Спрашивается — что Вы делаете не так?!

NEOINFORMATIONIS
18-11-2019, 14:18
Iska, вот сам код которую вы мне прислали, я ничего с ней не делаю, там и так стоят мои данные. единственное указываю сам путь .... откуда документ должен отправиться.
ничего не приходит на почту.

Option Explicit

Const cdoSendUsingPort = 2
Const cdoBasic = 1

Const strConstPartOfSchema = "http://schemas.microsoft.com/cdo/configuration/"


Dim strSourceFile
Dim strContent


strSourceFile = "C:\Мои проекты\0284\Source\Sample.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
Do
WScript.Sleep 100
Loop Until .FileExists(strSourceFile)

WScript.Sleep 5 * 1000

With WScript.CreateObject("Microsoft.XMLHTTP")
.open "GET", "http://ifconfig.me/ip", False
.send
strContent = .responseText
End With

With WScript.CreateObject("CDO.Message")
.From = "dostupmne@bk.ru"
.To = "dostupdai@bk.ru"
.Subject = "File [" & strSourceFile & "]"

.TextBody = "External IP: " & strContent
.TextBodyPart.Charset = "windows-1251"

.AddAttachment strSourceFile

With .Configuration.Fields
.Item(strConstPartOfSchema & "smtpserver") = "smtp.mail.ru"
.Item(strConstPartOfSchema & "sendusing") = cdoSendUsingPort
.Item(strConstPartOfSchema & "smtpserverport") = 465
.Item(strConstPartOfSchema & "smtpauthenticate") = cdoBasic
.Item(strConstPartOfSchema & "sendusername") = "dostupmne@bk.ru"
.Item(strConstPartOfSchema & "sendpassword") = "12345qwW"
.Item(strConstPartOfSchema & "smtpusessl") = True

.Update
End With

.Send
End With
End With

WScript.Quit 0

Iska, вот сам код которую вы мне прислали, я ничего с ней не делаю, там и так стоят мои данные. единственное указываю сам путь .... откуда документ должен отправиться.
ничего не приходит на почту.

Option Explicit

Const cdoSendUsingPort = 2
Const cdoBasic = 1

Const strConstPartOfSchema = "http://schemas.microsoft.com/cdo/configuration/"


Dim strSourceFile
Dim strContent


strSourceFile = "C:\Мои проекты\0284\Source\Sample.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
Do
WScript.Sleep 100
Loop Until .FileExists(strSourceFile)

WScript.Sleep 5 * 1000

With WScript.CreateObject("Microsoft.XMLHTTP")
.open "GET", "http://ifconfig.me/ip", False
.send
strContent = .responseText
End With

With WScript.CreateObject("CDO.Message")
.From = "dostupmne@bk.ru"
.To = "dostupdai@bk.ru"
.Subject = "File [" & strSourceFile & "]"

.TextBody = "External IP: " & strContent
.TextBodyPart.Charset = "windows-1251"

.AddAttachment strSourceFile

With .Configuration.Fields
.Item(strConstPartOfSchema & "smtpserver") = "smtp.mail.ru"
.Item(strConstPartOfSchema & "sendusing") = cdoSendUsingPort
.Item(strConstPartOfSchema & "smtpserverport") = 465
.Item(strConstPartOfSchema & "smtpauthenticate") = cdoBasic
.Item(strConstPartOfSchema & "sendusername") = "dostupmne@bk.ru"
.Item(strConstPartOfSchema & "sendpassword") = "12345qwW"
.Item(strConstPartOfSchema & "smtpusessl") = True

.Update
End With

.Send
End With
End With

WScript.Quit 0

NEOINFORMATIONIS
18-11-2019, 15:12
ISKA, я вам и без скриншота верю!!!

Iska
18-11-2019, 15:17
NEOINFORMATIONIS, запишите видео о том, что Вы делаете — от начала и до конца, начиная от копирования кода с форума, до создания файла в указанном каталоге.

NEOINFORMATIONIS
18-11-2019, 15:51
Попробовал все работает, понятии не имею с чем мог быть связан данный глюк. Все вводил правильно, даже сейчас...
ISKA, а чтобы он определял саму операционную систему, название пользователя, операционную систему+разрядность.
какой код мне вписать туда еще?

NEOINFORMATIONIS
18-11-2019, 16:36
У меня новая тема, хочу к вам обратиться последней просьбой, ISKA, нужно из реестра извлечь некий reg.документ.
Но данные внутри зашифрованы, я могу их онлайн расшифровать. Но необходимо все это автомотизировать чтобы не было нужды заходить на этот сайт.
Что посоветуете?
приведу пример:
Вот сама ветка в реестре: [HKEY_LOCAL_MACHINE\SAM\reset.
вот пример зашифрованного внутреннего кода: 1,7,8,5,0,22,20,\
Извлекать его я могу но вот расшифровать без помощи онлайн сервисов нет.

Iska
18-11-2019, 16:45
NEOINFORMATIONIS, Каша из топора (сказка) — Википедия (https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%88%D0%B0_%D0%B8%D0%B7_%D1%82%D0%BE%D0%BF%D0%BE%D1%80%D0%B0_(%D1%81%D0%BA%D0%B0%D0%B7 %D0%BA%D0%B0)).

NEOINFORMATIONIS
18-11-2019, 17:04
ISKA, Ясно,понятно.

Но в вашем рассуждении есть одна неточность... в этот список я не вхожу! :sorry:

Если эта лаба меня не убъет то (DJ Mogarych) точно.
Ну какое твое дело что я делаю и как я это делаю...
Хочет поучить меня в чем смысл жизни:)
Комментирует сидит...

ISKA, ВЫ хороший специалист, настоящий специалист своего дело!
С Вами приятно поговорить, и решать задачи любого рода.
Но если мои вопросы Вас угнетают сильно, то я буду искать помощи на стороне.
:(




© OSzone.net 2001-2012