Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Отправка почты на VBS (нужна помощь в доработке скрипта)

Ответить
Настройки темы
VBS/WSH/JS - [решено] Отправка почты на VBS (нужна помощь в доработке скрипта)

Пользователь


Сообщения: 132
Благодарности: 3

Профиль | Отправить PM | Цитировать


Уважаемые, помогите еще с одним вопросом если не сложно.
Нашел тут случайно скриптик типа как я понял отправки почты.
Сам я в этом не волоку, потому и прошу, посмотрите пож-ста его,
Я так думаю что он не законченный или я непонял как им пользоваться...
По крайней мере подставлял все данные и не работает...

Вот сам скрипт -
Код: Выделить весь код
Option Explicit 
Dim objFSO, objFile
Dim strPath2SourceFolder, strMessage, strheadlist  
Dim intPrefixб Count, Message, iConf,  Flds

strPath2SourceFolder   = "директория расположения контролируемых файлов"  
strMessage = vbNullString

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")     
For Each objFile In objFSO.GetFolder(strPath2SourceFolder).Files
if UCase(objFSO.GetExtensionName(objFile.Name)) = UCase("dbf") And _
 DateDiff("D", objFile.DateLastModified, Now) = 0 Then

 Count=Count+1
 strMessage = strMessage & Count & ". " & objFSO.GetFileName(objFile.Name) & vbCrLf

 Attach = "" & strPath2SourceFolder & objFSO.GetFileName(objFile.Name) _
& "" ' * Получаем имя файла с путем

End If

Message.AddAttachment (Attach)  ' * Описываем вложение для отправки

next

strMessage = "Следующие файлы были изменены:" & vbCrLf & strMessage
strMessage = strMessage & vbCrLf & "Всего измененных файлов: "& Count

if Count > 0 Then
' непосредственно блок работы с почтой ---------------------------------------------------------------------------------
Set Message = CreateObject("CDO.Message") 
Message.To = "кому@mail.ru"
Message.From = "от_кого@mail.ru"
Message.Subject = "RE: ! Warning!"
Message.TextBody = strMessage
Message.BodyPart.Charset = "windows-1251"

Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru"
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 2525
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Ваш_пароль"
Flds.Update
Message.Configuration = iConf
Message.Send

End If

Отправлено: 18:13, 12-02-2011

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата alek2012:
которые появились за прошедший 1 час »
Кто или что будет отслеживать или определять этот час? По каким принципам?

Отправлено: 07:47, 18-02-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для alek2012

Пользователь


Сообщения: 57
Благодарности: 2

Профиль | Отправить PM | Цитировать


нужно отследить файлы pdf которые появились за прошедший час времени и их отправить

Отправлено: 14:39, 18-02-2014 | #12


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


alek2012, я тоже умею повторять, смотрите: кто или что будет отслеживать или определять этот час? По каким принципам?

Отправлено: 15:03, 18-02-2014 | #13


Аватара для alek2012

Пользователь


Сообщения: 57
Благодарности: 2

Профиль | Отправить PM | Цитировать


можно по дате модификации каталога например каждый час проверять условием

If DatePart("yyyy",Now)=DatePart("yyyy",objDIR.DateLastModified) And _
DatePart("m",Now) =DatePart("m",objDIR.DateLastModified) And _
DatePart("d",Now) =DatePart("d",objDIR.DateLastModified) And _
DatePart("h",Now) =DatePart("h",objDIR.DateLastModified) Then

Set oMyMail = CreateObject("CDO.Message")

и в таком случае отправить файлы из каталога

а если изменений не было то отправить что файлов нет

например
Else
Set oMyMail = CreateObject("CDO.Message")
ну и отправить что файлов нет

главная суть вопроса как вытягивать файлы по маске из всех внутренних подкаталогов в том числе и скрытых

Отправлено: 15:45, 18-02-2014 | #14


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата alek2012:
можно по дате модификации каталога например каждый час проверять условием »
Создали/удалили. Дата модификации каталога изменилась. А по сути — всё осталось как было.

Вы сразу начинаете решать, а я спрашиваю про принципы определения.

Цитата alek2012:
главная суть вопроса как вытягивать файлы по маске из всех внутренних подкаталогов в том числе и скрытых »
С этим проблем нет. Если Вас интересует — могу привести код.

Отправлено: 15:54, 18-02-2014 | #15


Аватара для alek2012

Пользователь


Сообщения: 57
Благодарности: 2

Профиль | Отправить PM | Цитировать


приведите пожалуйста код

Отправлено: 16:04, 18-02-2014 | #16


Аватара для alek2012

Пользователь


Сообщения: 57
Благодарности: 2

Профиль | Отправить PM | Цитировать


Создали/удалили. - ручками специально никто в этом каталоге создавать/удалять не будет, по этому мое условие по дате модификации подходит

Отправлено: 16:39, 18-02-2014 | #17


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата alek2012:
приведите пожалуйста код »
Например, так:
Код: Выделить весь код
Option Explicit

Dim arrFiles
Dim strFile

arrFiles = GetFilesByMask("E:\Песочница", "*.pdf")

For Each strFile In arrFiles
	WScript.Echo strFile
Next

WScript.Quit 0
'=============================================================================

'=============================================================================
Function GetFilesByMask(strSourceFolder, strMask)
	Const WshRunning  = 0
	Const WshFinished = 1
	Const WshFailed   = 2
	
	Dim strContent
	
	
	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FolderExists(strSourceFolder) Then
			With WScript.CreateObject("WScript.Shell").Exec("""%comspec%"" /c ""dir /a:-d /b /s """ & strSourceFolder & "\" & strMask & """""")
				If .Status <> WshFailed Then
					strContent = ""
					
					Do
						strContent = strContent & .StdOut.ReadAll()
					Loop Until .Status = WshFinished
				End If
			End With
			
			GetFilesByMask = Split(StrConvert(strContent, "windows-1251", "cp866"), vbCrLf)
		Else
			WScript.Echo "Source folder [" & strSourceFolder & "] not found."
			WScript.Quit 1
		End If
	End With
End Function
'=============================================================================

'=============================================================================
' HKEY_CLASSES_ROOT\MIME\Database\Charset
' cp866, windows-1251, koi8-r, unicode, utf-8, _autodetect
'=============================================================================
Function StrConvert(ByVal strText, ByVal strSourceCharset, ByVal strDestCharset)
	Const adTypeText      = 2
	Const adModeReadWrite = 3
	
	
	With WScript.CreateObject("ADODB.Stream")
		.Type      = adTypeText
		.Mode      = adModeReadWrite
		
		.Open
		
		.Charset   = strSourceCharset
		.WriteText strText
		
		.Position  = 0
		.Charset   = strDestCharset
		StrConvert = .ReadText
		
		.Close
	End With
End Function
'=============================================================================
Цитата alek2012:
по этому мое условие по дате модификации подходит »
Делайте!
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:31, 18-02-2014 | #18



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Отправка почты на VBS (нужна помощь в доработке скрипта)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Помогите в доработке скрипта на JavaScript SReg Программирование и базы данных 1 13-02-2009 01:13
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов 0bject Скриптовые языки администрирования Windows 614 19-01-2009 21:58
[решено] отправка почты из скрипта elfoflorien Вебмастеру 16 04-11-2006 21:51
Нужна помощь в написании скрипта Magnus Вебмастеру 7 06-05-2005 10:53
Нужна помощь в подборе скрипта и в дизайне Guest Вебмастеру 3 18-10-2003 11:05




 
Переход