VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Аватара пользователя
staw2ros

VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение staw2ros »

К сожалению не очень опытен c VBS.



Есть скрипт для отправки сообщения с одним вложенным файлом!







Код:

Код: Выделить всё

 
Set S = CreateObject("Wscript.Shell") 
 set FSO=createobject("scripting.filesystemobject") 
 Call SendPost("smtp.mail.ru","login1@mail.ru","login2@mail.ru","Отчет","Последний месяц") 
 Function SendPost(strSMTP_Server,strTo,strFrom,strSubject,strBody) 
 Set iMsg=CreateObject("CDO.Message") 
 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/smtpauthenticate")=1 
 Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")="login" 
 Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")="password" 
 Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.mail.ru" 
 Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
 Flds.Update 
 iMsg.Configuration=iConf 
 iMsg.To=strTo 
 iMsg.From=strFrom 
 iMsg.Subject=strSubject 
 iMsg.TextBody=strBody 
 iMsg.AddAttachment "C:\Users\%userprofile%\Desktop\otchet_15_05_2011.txt" 
 iMsg.Send 
 End Function 
 Set iMsg=Nothing 
 Set iConf=Nothing 
 Set Flds=Nothing

1. Как отправить сразу несколько текстовых файлов?

2. Что делать если имеется несколько компьютеров..и у них разные пути к рабочему столу?
Аватара пользователя
amel27

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение amel27 »

1. как вариант - выполнить несколько раз "iMsg.AddAttachment"

2.

Код:

Код: Выделить всё

WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop")
Аватара пользователя
kolumb 8034

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение kolumb 8034 »

Цитата amel27:



1. как вариант - выполнить несколько раз "iMsg.AddAttachment"
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?




Хм..а если количество и названия файлов произвольные?
Аватара пользователя
kolumb 8034

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение kolumb 8034 »

Как вариант можно потестить с почтой вариант такой если в папке присутствует js,vbs.txt,dll письмо не приходит если js,vbs.txt то все норм в моем случаи проблема именно и за dll !!!



Еще если можно подскажите как этот код прописать с BAT в VBS





Код:

Код: Выделить всё

@echo off
:start
ping 127.0.0.1 -n 15 >nul
if %errorlevel%==0 (goto send) else (goto end)
:end
goto :start
:send
Аватара пользователя
staw2ros

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение staw2ros »

Цитата staw2ros:



Хм..а если количество и названия файлов произвольные?
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?




Передавайте скрипту пути к ним аргументами. Если не укладываетесь в ограничения длины пути — то посредством указанного аргументом текстового файла, содержащего пути к прикрепляемым файлам.
Аватара пользователя
amel27

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение amel27 »

Цитата staw2ros:



И как это можно реализовать с данным скриптом?
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?




Сие может выглядеть, например, так:


Цитата Iska:



Передавайте скрипту пути к ним аргументами.
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?





читать дальше »




Код:

Код: Выделить всё

Option Explicit
Const cdoSendUsingPort = 2
Const cdoBasic         = 1
Const strPartSchema    = "http://schemas.microsoft.com/cdo/configuration/"
Dim objFSO
Dim strArg
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If WScript.Arguments.Count  0 Then
	With WScript.CreateObject("CDO.Message")
		With .Configuration.Fields
			.Item(strPartSchema & "sendusing")        = cdoSendUsingPort
			.Item(strPartSchema & "smtpauthenticate") = cdoBasic
			.Item(strPartSchema & "smtpserver")       = "smtp.mail.ru"
			.Item(strPartSchema & "smtpserverport")   = 25
			.Item(strPartSchema & "sendusername")     = "login"
			.Item(strPartSchema & "sendpassword")     = "password"
			.Update
		End With
		.To            = "to@mail.com"
		.From          = "from@mail.com"
		.Subject       = "Subject"
		.TextBody      = "TextBody"
		For Each strArg In WScript.Arguments
			If objFSO.FileExists(strArg) Then
				.AddAttachment strArg
			Else
				WScript.Echo "Can't find file [" & strArg & "]"
				WScript.Quit 2
			End If
		Next
		.Send
	End With
Else
	WScript.Echo "Usage: " & WScript.ScriptName & "  [] … []"
	WScript.Quit 1
End If
Set objFSO = Nothing
WScript.Quit 0





Пример вызова скрипта:[/i]



Код:

Код: Выделить всё

script.vbs "E:\Песочница\0039\Copy-Script.ps1" "E:\Песочница\0039\file_versions.ps1" "E:\Песочница\0054\0003.cmd"


Цитата Iska:



…посредством указанного аргументом текстового файла, содержащего пути к прикрепляемым файлам.
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?





читать дальше »




Код:

Код: Выделить всё

Option Explicit
Const ForReading = 1
Const cdoSendUsingPort = 2
Const cdoBasic         = 1
Const strPartSchema    = "http://schemas.microsoft.com/cdo/configuration/"
Dim objFSO
Dim strFile4Files
Dim strFile
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If WScript.Arguments.Count = 1 Then
	strFile4Files = WScript.Arguments.Item(1)
	If objFSO.FileExists(strFile4Files) Then
		With WScript.CreateObject("CDO.Message")
			With .Configuration.Fields
				.Item(strPartSchema & "sendusing")        = cdoSendUsingPort
				.Item(strPartSchema & "smtpauthenticate") = cdoBasic
				.Item(strPartSchema & "smtpserver")       = "smtp.mail.ru"
				.Item(strPartSchema & "smtpserverport")   = 25
				.Item(strPartSchema & "sendusername")     = "login"
				.Item(strPartSchema & "sendpassword")     = "password"
				.Update
			End With
			.To            = "to@mail.com"
			.From          = "from@mail.com"
			.Subject       = "Subject"
			.TextBody      = "TextBody"
			Set objTS = objFSO.OpenTextFile(strFile4Files, ForReading)
			Do Until objTS.AtEndOfStream
				strFile = objTS.ReadLine()
				If objFSO.FileExists(strFile) Then
					.AddAttachment strFile
				Else
					WScript.Echo "Can't find file [" & strFile & "]"
					WScript.Quit 2
				End If
			Loop
			objTS.Close
			Set objTS = Nothing
			.Send
		End With
	Else
		WScript.Echo "Can't find file [" & strFile4Files & "]"
	End If
Else
	WScript.Echo "Usage: " & WScript.ScriptName & " "
	WScript.Quit 1
End If
Set objFSO = Nothing
WScript.Quit 0





Пример вызова скрипта:[/i]



Код:

Код: Выделить всё

script.vbs "E:\Песочница\0055\FileList.txt"

Пример содержимого файла «E:\Песочница\0055\FileList.txt»:[/i]



Код:

Код: Выделить всё

E:\Песочница\0039\Copy-Script.ps1
E:\Песочница\0039\file_versions.ps1
E:\Песочница\0054\0003.cmd
Аватара пользователя
staw2ros

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение staw2ros »

И как это можно реализовать с данным скриптом?)
Аватара пользователя
staw2ros

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение staw2ros »

staw2ros, тогда уж не:


Цитата staw2ros:



…удалось решить…
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?




а «мне сделали» Изображение — я видел
этот код
.


Цитата staw2ros:



проблему удалось решить…
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?




Проблемы могут возникать позже, если вдруг на рабочем столе появятся «лишние» текстовые файлы.
Аватара пользователя
staw2ros

Re: VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?

Сообщение staw2ros »

Цитата Iska:



а «мне сделали» — я видел этот код.
VBS/WSH/JS - [решено] Как прикрепить несколько файлов в письме?






Это да! На авторство я не претендуюИзображение
Ответить

Вернуться в «Скриптовые языки администрирования Windows»