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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Выслать на email точное время включения компа

Ответить
Настройки темы
[решено] Выслать на email точное время включения компа

Аватара для McLotos

Старожил


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

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


Изменения
Автор: McLotos
Дата: 06-06-2012
Добрый день, мной написан небольшой скриптик, который прописан в автозапуск системы и при включении компа отправляет на заданные email письмо, подскажите как сделать чтобы это письмо отправлялось в скрытом режиме, и независимо от интерфейса. Сейчас возникают некоторые траблы, из-за того что не у всех юзеров почтовые программы идентичны.
Код: Выделить весь код
#include <Inet.au3>
Run(@ProgramFilesDir & '\Microsoft Office\Office12\OUTLOOK.exe')
$s_MailTo="recipient@domain.com"
$s_MailSubject="Work Day"
$s_MailBody="I'm on line"
_INetMail($s_MailTo, $s_MailSubject, $s_MailBody)
sleep(2000)
ControlClick("WorkDay - Сообщение (HTML)","Отправит&ь",4256)
1. Подскажите, нельзя ли отправлять письмо с русским текстом?
2. Логично ли переписать этот код так, чтобы она просто записывала время запуска, затем отправляла письмо с указанием точного времени запуска.

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 08:55, 04-06-2012

 

Ветеран


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

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


Например, так:
читать дальше »
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local Const $cdoSendUsingPort = 2
Local Const $cdoBasic         = 1

Local Const $sPartSchema    = "http://schemas.microsoft.com/cdo/configuration/"


Local $oMessage       = ObjCreate("CDO.Message")
Local $oConfiguration = ObjCreate("CDO.Configuration")

Local $sFile = "C:\Temp\Some.txt"


With $oConfiguration.Fields
	.Item($sPartSchema & "sendusing")        = $cdoSendUsingPort
	.Item($sPartSchema & "smtpauthenticate") = $cdoBasic
	.Item($sPartSchema & "smtpserver")       = "smtp.mail.com"
	.Item($sPartSchema & "smtpserverport")   = 25
	.Item($sPartSchema & "sendusername")     = "login"
	.Item($sPartSchema & "sendpassword")     = "password"

	.Update
EndWith

With $oMessage
	.To            = "to@mail.com"
	.From          = "from@mail.com"
	.Subject       = "Тема письма"

	.Configuration = $oConfiguration

	.TextBody      = "Первая строка" & @CRLF & _
		"Очередная строка" & @CRLF & _
		"Последняя строка"

	If FileExists($sFile) = 1 Then
		.AddAttachment($sFile)
	EndIf

	.Send
EndWith

$oConfiguration = 0
$oMessage = 0

Exit(0)
Возможно, понадобится библиотека Collaboration Data Objects.

Цитата McLotos:
2. Логично ли переписать этот код так, чтобы она просто записывала время запуска, затем отправляла письмо с указанием точного времени запуска. »
Вопрос не понятен.

Отправлено: 09:51, 04-06-2012 | #2



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

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


Аватара для Creat0R

Must AutoIt


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

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


Предупреждение за нарушение правил форума, пункт 2.7 и пункт 3.19:

Цитата:
2.7: В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема)...
Подробнее о принципах создания тем читайте в этом документе и Правилах форумов.

3.19: Запрещается... Создавать темы, имеющие неинформативные или состоящие из заглавных букв заголовки (например, "Помогите!", "HELP!", "У меня проблема"). Такие темы будут закрыты или перенесены в Тест-форум. Если вы хотите вернуть перенесенную тему обратно, пока ее не закрыли в Тест-форуме, измените ее заголовок на осмысленный и напишите об этом в теме.
Переименуйте пожалуйста тему (Как переименовать свою тему?).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 16:25, 04-06-2012 | #3


Аватара для McLotos

Старожил


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

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


Цитата Iska:
Вопрос не понятен. »
Ну на сколько будет логичнее, если скрипт при запуске будет просто запоминать во сколько его включили, и спустя где-то минут 5 будет отсылать письмо с точным временем запуска.

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 16:25, 06-06-2012 | #4


Ветеран


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

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


Лучше брать время старта из самой системы, например, посредством Wbem:
Код: Выделить весь код
wmic.exe OS get LastBootUpTime
Делать?

P.S. Почему отсылать не сразу, а через пять минут?

Отправлено: 18:06, 06-06-2012 | #5


Аватара для McLotos

Старожил


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

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


Цитата Iska:
Делать? »
не понял суть вопроса
Цитата Iska:
P.S. Почему отсылать не сразу, а через пять минут? »
потому-что сразу винда не даст отправить, она тупо не успевает.

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 07:45, 08-06-2012 | #6


Ветеран


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

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


Тогда примерно так:
читать дальше »
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local Const $cdoSendUsingPort = 2
Local Const $cdoBasic         = 1

Local Const $sPartSchema      = "http://schemas.microsoft.com/cdo/configuration/"

Sleep(5 * 60 * 1000)

Local $oMessage         = ObjCreate("CDO.Message")
Local $oConfiguration   = ObjCreate("CDO.Configuration")

Local $oSWbemLocator    = ObjCreate("WbemScripting.SWbemLocator")
Local $oSWbemServicesEx = $oSWbemLocator.ConnectServer(".", "root\cimv2")
Local $oSWbemObjectEx


For $oSWbemObjectEx In $oSWbemServicesEx.InstancesOf("Win32_OperatingSystem")
	ExitLoop
Next

With $oConfiguration.Fields
	.Item($sPartSchema & "sendusing")        = $cdoSendUsingPort
	.Item($sPartSchema & "smtpauthenticate") = $cdoBasic
	.Item($sPartSchema & "smtpserver")       = "smtp.mail.com"
	.Item($sPartSchema & "smtpserverport")   = 25
	.Item($sPartSchema & "sendusername")     = "login"
	.Item($sPartSchema & "sendpassword")     = "password"

	.Update
EndWith

With $oMessage
	.To            = "to@mail.com"
	.From          = "from@mail.com"
	.Subject       = "Last bootup time: " & @ComputerName
	
	.Configuration = $oConfiguration
	
	.TextBody      = "Last bootup time for [" & @ComputerName & "] is " & FormatWMIDateTime($oSWbemObjectEx.LastBootUpTime())
	.Send
EndWith

$oSWbemObjectEx   = 0
$oSWbemServicesEx = 0
$oSWbemLocator    = 0

$oConfiguration = 0
$oMessage = 0

Exit(0)

Func FormatWMIDateTime($sWMIDateTime)
    Return ( _
		StringMid($sWMIDateTime,  7, 2) & "." & _
		StringMid($sWMIDateTime,  5, 2) & "." & _
		StringMid($sWMIDateTime,  1, 4) & " " & _
		StringMid($sWMIDateTime,  9, 2) & ":" & _
		StringMid($sWMIDateTime, 11, 2) & ":" & _
		StringMid($sWMIDateTime, 13, 2) _
	)
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:58, 08-06-2012 | #7


Аватара для McLotos

Старожил


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

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


Iska, спасибо, обязательно попробую этот вариант. Вы как всегда, каждый ответ сразу в очку.

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 22:52, 08-06-2012 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Выслать на email точное время включения компа

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Почта - Не работает отсылка писем в Windows Live Mail latvietis Windows Live (архив) 4 05-04-2014 15:43
отсылка писем в php Turman Вебмастеру 4 21-11-2007 00:47
Отсылка части cookies hasherfrog Вебмастеру 12 22-03-2006 10:46
отсылка писем Strannick60 Сетевые технологии 3 09-11-2005 17:06
Отсылка UDP пакетов Bobrenok7 Защита компьютерных систем 4 25-01-2005 13:59




 
Переход