|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Помогите доработать скрипт отправки по почте с аттачем |
|
VBS/WSH/JS - Помогите доработать скрипт отправки по почте с аттачем
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать Добрый день. Помогите решить проблему.
Есть полностью рабочий скрипт gmail.vbs Действия скрипта: проверяет соединение с интернетом, если нет соединения - выдает сообщение: "Проверьте соединение с интернетом". Если интернет есть - Создает письмо с указанными в скрипте параметрами и прикрепляет файл, лежащий по пути: D:\Program files\Blablabla\zakaz\zacaz035_2.rpt Отправляет этот файл по почте и выводит сообщение клиенту: "Ваш заказ успешно отправлен!" Не могу решить: 1. Программа Blablabla не всегда находится по пути D:\Program files\Blablabla, у разных пользователей пути разные. Как заставить скрипт искать где установлена программа?? Запись о пути установки есть в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Blablabla (параметр Path). 2. Как заставить прикреплять не конкретый файл, а файл с раширением *.rpt, так как все имена заказов разные. set WshShell = CreateObject("WScript.Shell") 'Запускаем ping и ожидаем завершения его работы Return = WshShell.Run("ping www.google.com ", 0, true) If Return=1 then MsgBox"Проверьте соединение с интернетом!" Else Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory. Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network). Const cdoAnonymous = 0 'Do not authenticate Const cdoBasic = 1 'basic (clear-text) authentication Const cdoNTLM = 2 'NTLM Set objMessage = CreateObject("CDO.Message") objMessage.Subject = "Тема" objMessage.From = """Zakaz"" <user@gmail.com>" objMessage.To = "mybox@gmail.com" objMessage.TextBody = "Вам был отправлен заказ." objMessage.AddAttachment " D:\Program files\Blablabla\zakaz\zacaz035_2.rpt " '==This section provides the configuration information for the remote SMTP server. objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'Name or IP of Remote SMTP Server objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 'Type of authentication, NONE, Basic (Base64 encoded), NTLM objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic 'Your UserID on the SMTP server objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user@gmail.com" 'Your password on the SMTP server objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 'Server port (typically 25) objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 'Use SSL for the connection (False or True) objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server) objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 objMessage.Configuration.Fields.Update '==End remote SMTP server configuration section== objMessage.Send MsgBox"Ваш заказ успешно отправлен!" End if |
|
Отправлено: 22:23, 19-02-2011 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Вставьте эту функцию в скрипт:
Function GetAttach Dim strPath Dim arrFiles strPath = WshShell.RegRead("HKLM\SOFTWARE\Blablabla\Path") & "\zakaz\" Set arrFiles = CreateObject("Shell.Application").NameSpace(strPath).Items arrFiles.Filter 64, "zacaz*.rpt" Select Case arrFiles.Count Case 0 MsgBox "Файл для отправки не найден.", 48, "Отправка файла" WScript.Quit 1 Case 1 GetAttach = arrFiles.Item(0).Path Case Else MsgBox "Найдено несколько файлов.", 48, "Отправка файла" WScript.Quit 1 End Select End Function |
Последний раз редактировалось SendMessage, 20-02-2011 в 10:12. Отправлено: 04:45, 20-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать SendMessage, уточнение:
Цитата diavard:
Цитата SendMessage:
|
||
Отправлено: 05:50, 20-02-2011 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать SendMessage, спасибо большое, все работает отлично. Упустил еще один момент - после того, как файл с заказом отправлен - он остается в папке zakaz. Помогите пожалуйста, чтоб после отправки письма с вложением этот заказ перемещаляся в папку old_zakaz. Не копировался, а именно перемещался. Заранее спасибо.
Iska, Папка, где хранится файл заказ называется zakaz, а вот сам файл - zacaz. Мудрено, потому что структуру инсталлятора писал я, а функцию вывода файла с заказом - другой человек. Вот и получилось. |
Отправлено: 13:56, 21-02-2011 | #4 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Вместо строки
вставьте эти: Set fso = WScript.CreateObject("Scripting.FileSystemObject") OutFolder = "D:\Program files\Blablabla\old_zakaz\" AttachFile = GetAttach OutAttachFile = OutFolder & fso.GetFileName(AttachFile) objMessage.AddAttachment AttachFile If fso.FileExists(OutAttachFile) Then fso.DeleteFile OutAttachFile fso.MoveFile AttachFile, OutFolder |
|
Отправлено: 14:55, 21-02-2011 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Требуется доработать скрипт, чтобы при его запуске появлялся запрос на повышение прав | okshef | Скриптовые языки администрирования Windows | 16 | 24-07-2010 23:09 | |
скрипт отправки почты | stolyar | Вебмастеру | 10 | 04-01-2010 18:23 | |
Как прикрепить файл для отправки по электронной почте в CMS Joomla? | SashaKl | Вебмастеру | 1 | 12-06-2009 15:44 | |
Скрипт отправки сообщений (неправильная кодировка) | Denis Shutka | Вебмастеру | 2 | 10-04-2005 09:12 | |
скрипт формы отправки на мыло | Denis Shutka | Вебмастеру | 1 | 10-01-2005 02:57 |
|