![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Помогите доделать скрипт, который отправляет по почте текст |
|
VBS/WSH/JS - [решено] Помогите доделать скрипт, который отправляет по почте текст
|
Пользователь Сообщения: 100 |
Добрый вечер друзья помогите пожалуйста разобраться . Я написал при помощи разных ресурсов скрипт который отправляет по почте текст.
Const EmailFrom = "test@mail.ru" Const EmailPassword = "testtest1" Const strSmtpServer = "smtp.mail.ru" Const EmailTo = "mains1@mail.ru" Set objEmail = CreateObject("CDO.Message") objEmail.From = EmailFrom objEmail.To = EmailTo objEmail.Subject = "test mail" objEmail.Textbody = "134678990685445779436653754" objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = EmailFrom objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = EmailPassword objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmtpServer objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objEmail.Configuration.Fields.Update objEmail.Send Так вот приходиться текст постоянно менять в поле objEmail.Textbody что бы получить новое сообщение . Вопрос в том как сделать что бы появлялось окно какое нибудь для ввода ? Как это будет выглядить кто нибудь может показать ? Заранее спасибо |
|
Отправлено: 22:51, 05-12-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Например, так:
Option Explicit Const ForReading = 1 Const cdoSendUsingPort = 2 Const cdoBasic = 1 Const strPartSchema = "http://schemas.microsoft.com/cdo/configuration/" Dim strValue strValue = InputBox("Input mail body:", "Mail body", "Input text here…") If Len(strValue) <> 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") = "test@mail.ru" .Item(strPartSchema & "sendpassword") = "testtest1" .Update End With .To = "mains1@mail.ru" .From = "test@mail.ru" .Subject = "test mail" .TextBody = strValue .Send End With Else ' Nothing to do End If WScript.Quit 0 |
Отправлено: 23:35, 05-12-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Или, для многострочного письма, так:
Option Explicit Const ForReading = 1 Const cdoSendUsingPort = 2 Const cdoBasic = 1 Const strPartSchema = "http://schemas.microsoft.com/cdo/configuration/" Dim i Dim strLine Dim strValue i = 0 strValue = "" Do i = i + 1 strLine = InputBox("Введите [" & CStr(i) & "] строку тела письма " & _ "(введите пустую строку для окончания)", "Формирование тела письма", "Введите [" & CStr(i) & "] строку здесь…") If Len(strLine) <> 0 Then strValue = strValue & vbCrLf & strLine Else strValue = Mid(strValue, 3) Exit Do End If Loop If Len(strValue) <> 0 Then If MsgBox("Вы сформировали следующее тело письма:" & vbCrLf & vbCrLf & _ strValue & vbCrLf & vbCrLf & _ "Отправить письмо?", vbOKCancel, "Отправка письма") = vbOK 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") = "test@mail.ru" .Item(strPartSchema & "sendpassword") = "testtest1" .Update End With .To = "mains1@mail.ru" .From = "test@mail.ru" .Subject = "test mail" .TextBody = strValue .Send End With End If Else ' Nothing to do End If WScript.Quit 0 |
Отправлено: 23:50, 05-12-2011 | #3 |
Пользователь Сообщения: 100
|
Профиль | Отправить PM | Цитировать Iska, Огромное спасибо !!! )))) +
|
Отправлено: 07:36, 06-12-2011 | #4 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Уважаемый Iska, ваш скрипт отлично работает, но нельзя ли там сделать так, чтоб сообщение с окошка отправлялось не с письмом, а виде вложения с названием темы, например: test.txt
|
|
Отправлено: 00:30, 15-01-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата irshat:
|
|
Отправлено: 15:44, 15-01-2013 | #6 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать да я бы сделал, да скриптами вот только три дня, как начал заниматься, да что-то не доходит, форум просмотрел ничего похожего не нашел, как ветеран может подскажете
![]() |
Отправлено: 21:38, 15-01-2013 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Option Explicit Const ForReading = 1 Const cdoSendUsingPort = 2 Const cdoBasic = 1 Const strPartSchema = "http://schemas.microsoft.com/cdo/configuration/" Dim i Dim strLine Dim strValue Dim strFile i = 0 strValue = "" Do i = i + 1 strLine = InputBox("Введите [" & CStr(i) & "] строку тела письма " & _ "(введите пустую строку для окончания)", "Формирование тела письма", "Введите [" & CStr(i) & "] строку здесь…") If Len(strLine) <> 0 Then strValue = strValue & vbCrLf & strLine Else strValue = Mid(strValue, 3) Exit Do End If Loop If Len(strValue) <> 0 Then If MsgBox("Вы сформировали следующее тело письма:" & vbCrLf & vbCrLf & _ strValue & vbCrLf & vbCrLf & _ "Отправить письмо?", vbOKCancel, "Отправка письма") = vbOK Then strFile = GetTemporaryName() With WScript.CreateObject("Scripting.FileSystemObject").CreateTextFile(strFile) .Write strValue .Close End With 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") = "test@mail.ru" .Item(strPartSchema & "sendpassword") = "testtest1" .Update End With .To = "mains1@mail.ru" .From = "test@mail.ru" .Subject = "test mail" '.TextBody = strValue .AddAttachment strFile .Send End With WScript.CreateObject("Scripting.FileSystemObject").DeleteFile strFile End If Else ' Nothing to do End If WScript.Quit 0 '============================================================================= ' Серый форум / vbscript: генерация пути для временного файла или папки ' (http://forum.script-coding.com/viewtopic.php?id=1221) '============================================================================= Function GetTemporaryName() Const TemporaryFolder = 2 Dim strTempName With WScript.CreateObject("Scripting.FileSystemObject") Do strTempName = .BuildPath(.GetSpecialFolder(TemporaryFolder), .GetTempName) Loop While .FileExists(strTempName) Or .FolderExists(strTempName) End With GetTemporaryName = strTempName End Function '============================================================================= |
Отправлено: 00:54, 16-01-2013 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - BAT файл, который вставляет текст в открытую командную строку. | garanov | Скриптовые языки администрирования Windows | 13 | 18-02-2015 20:26 | |
VBS/WSH/JS - [решено] скрипт обработки лог файлов и отправки уведомлений по почте | mrxMonster | Скриптовые языки администрирования Windows | 20 | 08-12-2011 12:04 | |
C/C++ - помогите доделать последнее действие | maximusoida | Программирование и базы данных | 1 | 05-05-2011 23:13 | |
VBS/WSH/JS - Помогите доработать скрипт отправки по почте с аттачем | diavard | Скриптовые языки администрирования Windows | 4 | 21-02-2011 14:55 | |
Помогите доделать сайт | DaRiYs | Вебмастеру | 1 | 02-03-2008 18:33 |
|