|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Помогите доделать скрипт, который отправляет по почте текст |
|
VBS/WSH/JS - [решено] Помогите доделать скрипт, который отправляет по почте текст
|
Пользователь Сообщения: 100 |
Профиль | Отправить PM | Цитировать Добрый вечер друзья помогите пожалуйста разобраться . Я написал при помощи разных ресурсов скрипт который отправляет по почте текст.
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 |
|