Что нового

Отправка на EMAIL

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Есть функция:
Код:
Func _send($Body, $Subject, $Attachment)
$FromAddress = '*'
$ToAddress = '*'
$SMTPServer = 'smtp.mail.ru'
$Username = '*'
$Password = "*"
$Port = '2525'

$str = "http://schemas.microsoft.com/cdo/configuration/"
$hMAIL = ObjCreate ("CDO.Message")
    With $hMAIL
        .From = $FromAddress
        .To = $ToAddress
        .Subject = $Subject
        .TextBody = $Body
        .AddAttachment ($Attachment) ;файл для отправки
    EndWith
    With $hMAIL.Configuration.Fields
        .Item ($str & "sendusing") = 2
        .Item ($str & "smtpserver") = $SMTPServer ;SMTP Server
        .Item ($str & "smtpauthenticate") = 1
        .Item ($str & "sendusername") = $Username
        .Item ($str & "sendpassword") = $Password ;Пароль SMTP-сервер
        .Item ($str & "smtpserverport") = $Port ;Порт
        .Update
    EndWith
$hMAIL.Send
EndFunc


Указываю все переменные и запускаю, выходит ошибка:
Код:
The requested action with this object has failed.:
.AddAttachment ($Attachment)
.AddAttachment ($Attachment)^ ERROR

Что не так?
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Код:
$oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
Func MyErrFunc()
	MsgBox(4096, "AutoItCOM Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
			"err.description is: " & @TAB & $oMyError.description & @CRLF & _
			"err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
			"err.number is: " & @TAB & hex($oMyError.number, 8) & @CRLF & _
			"err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
			"err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
			"err.source is: " & @TAB & $oMyError.source & @CRLF & _
			"err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
			"err.helpcontext is: " & @TAB & $oMyError.helpcontext)
	Exit 1
EndFunc

Сюда объект должен ругаться. $Attachment - это прикрепляемый файл, как я понимаю, коий должени передаватся в эту функцию. Ты его передаёшь?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
поиском пробовал пользоваться? тем с отправкой писем полно. покажи как передаешь путь до файлов. судя по остальным примерам - путь должен быть абсолютный. у тебя так?
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
sngr [?]
Ты его передаёшь?
Да

Kaster [?]
путь должен быть абсолютный. у тебя так?
Код:
_send("test", "lalala", @TempDir & "\" & "proc.txt")

Func _send($Body, $Subject, $Attachment)
$FromAddress = '*'
$ToAddress = '*'
$SMTPServer = 'smtp.mail.ru'
$Username = '*'
$Password = "*"
$Port = '2525'

$str = "http://schemas.microsoft.com/cdo/configuration/"
$hMAIL = ObjCreate ("CDO.Message")
    With $hMAIL
        .From = $FromAddress
        .To = $ToAddress
        .Subject = $Subject
        .TextBody = $Body
        .AddAttachment ($Attachment) ;файл для отправки
    EndWith
    With $hMAIL.Configuration.Fields
        .Item ($str & "sendusing") = 2
        .Item ($str & "smtpserver") = $SMTPServer ;SMTP Server
        .Item ($str & "smtpauthenticate") = 1
        .Item ($str & "sendusername") = $Username
        .Item ($str & "sendpassword") = $Password ;Пароль SMTP-сервер
        .Item ($str & "smtpserverport") = $Port ;Порт
        .Update
    EndWith
$hMAIL.Send
EndFunc
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
_Lexa98_
а если файл положить куда-нибудь в другое место, например @ScriptDir? точно не скажу, но на 7-ке вроде были какие-то грабли с Temp-папкой. у тебя 7ка?
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Kaster
нет


Добавлено:
Сообщение автоматически объединено:

Kaster
ааа, все заработало :rofl:
Просто я написал это:
Код:
_send("StartUp" , @HOUR & ":" & @MIN & ":" & @SEC, 0)

Вместо:
Код:
_send("StartUp" , @HOUR & ":" & @MIN & ":" & @SEC, '')

блин..
 
Верх