Paul_Markey
Новичок
- Сообщения
- 18
- Репутация
- 1
Рылся по форуму в поисках решения для отправки письма и наткнулся на скрипт, который использовал библиотеку Blat.
Адрес темы:http://autoit-script.ru/index.php?topic=783.0
Но (не я первый) наткнулся на проблему, что скрипт выдает ошибку "Не могу открыть SMTP сокет". Поиски решения данной проблемы не увенчались успехом (нашел только предложения использования других скриптов). Но хотелось бы использовать именно данный вариант отправки.
Почему, все таки, выдает скрипт эту ошибку и как ее решить?
P.S. Сильно не ругайте если вдруг решение было, но я его не увидел.
Код:
$SmtpServer = "smtp.mail.ru" ; адрес SMTP сервера
$FromName = "Mail Sender" ; имя отправителя
$FromAddress = "[email protected]" ; адрес отправителя
$ToAddress = "[email protected]" ; адрес назначения
$Subject = "test_mail_8" ; тема письма
$Body = "body_of_mail" ; тело письма (сам текст письма)
$AttachFiles = "D:\autoit_scripts\email\settings.ini"; прикреплённые файлы к письму
$Username = "zzzzzmail" ; имя пользователя аккаунта, с которого отправляется
$Password = "12345z" ; пароль аккаунта, с которого отправляется
$BlatArgs = "-t "&$ToAddress&" -f "&$FromAddress&" -s "&$Subject&" -body "&$Body&" -server "&$SmtpServer&" -u "&$Username&" -pw "&$Password&" -attach "&$AttachFiles
;Run (@scriptdir & "\blat.exe " & $BlatArgs, @ScriptDir, @SW_HIDE )
_SendMail($BlatArgs)
Func _SendMail($CMDstring)
$BlatDLL = DllOpen ("blat.dll")
Do
$result=DllCall($BlatDLL,"int","Send","str",$CMDstring)
Select
Case $result[0] = 13
MsgBox(16,"Ошибка. Код ошибки " & $result[0], "Не могу открыть временный файл во временной папке")
Case $result[0] = 12
MsgBox(16, "Ошибка. Код ошибки " & $result[0], "Не указаны или не найдены в реестре аргументы -server или -f")
Case $result[0] = 3
MsgBox(16, "Ошибка. Код ошибки " & $result[0], "Не могу прочитать файл с текстом письма или приложенный файл")
Case $result[0] = 2
MsgBox(16, "Ошибка. Код ошибки " & $result[0], "Почтовому серверу не понравился адрес отправителя; или он отказал нам в подключении; или неверный пароль; или не найден файл с текстом письма")
Case $result[0] = 1
MsgBox(16, "Ошибка. Код ошибки " & $result[0], "Не могу открыть SMTP сокет. Проверьте подключение к Интернету; либо неверные аргументы")
Case $result[0] <> 0
MsgBox(16, "Ошибка. Код ошибки " & $result[0], "Неизвестная ошибка")
EndSelect
Until $result[0] = 0
MsgBox(16, "нет ошибки.", "Письмо отправлено :-)" & @CRLF)
DllClose ($BlatDLL)
EndFunc
Адрес темы:http://autoit-script.ru/index.php?topic=783.0
Но (не я первый) наткнулся на проблему, что скрипт выдает ошибку "Не могу открыть SMTP сокет". Поиски решения данной проблемы не увенчались успехом (нашел только предложения использования других скриптов). Но хотелось бы использовать именно данный вариант отправки.
Почему, все таки, выдает скрипт эту ошибку и как ее решить?
P.S. Сильно не ругайте если вдруг решение было, но я его не увидел.