Автор Тема: Странное поведение blat.dll  (Прочитано 4116 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tarhitay [?]

  • Новичок
  • *
  • Сообщений: 15
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Странное поведение blat.dll
« Создано: Январь 24, 2016, 18:04:47 »
Так работает
Код: AutoIt [Выделить]

$SmtpServer = "smtp.server.ru"            ; адрес SMTP сервера
$FromName = "Name"               ; имя отправителя
$FromAddress = "us[email protected]" ; адрес отправителя
$ToAddress = "[email protected]"      ; адрес назначения
$Subject = "testing"              ; тема письма
$Body = "Тест"            ; тело письма (сам текст письма)
$AttachFiles = "C:\log\1.png"; прикреплённые файлы к письму
$Username = ""            ; имя пользователя аккаунта, с которого отправляется
$Password = ""                     ; пароль аккаунта, с которого отправляется
    $BlatArgs = String"-t "&$ToAddress&" -f "&$FromAddress&" -s "&$Subject&" -body "&$Body&" -server "&$SmtpServer&" -u "&$Username&" -pw "&$Password&" -attach "&$AttachFiles&" -log c:\log\blatlog.txt"

_SendMail($BlatArgs)





Func _SendMail($CMDstring)
    $BlatDLL = DllOpen ("blat.dll")
    Do
        $res=DllCall($BlatDLL,"int","Send","str",$CMDstring)
    $result=$res[0]
            Select
                Case $result = 13
                    MsgBox(16,"Ошибка. Код ошибки " & $result, "Не могу открыть временный файл во временной папке")

                Case $result = 12
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Не указаны или не найдены в реестре аргументы -server или -f")

                Case $result = 3
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Не могу прочитать файл с текстом письма или приложенный файл")

                Case $result = 2
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Почтовому серверу не понравился адрес отправителя; или он отказал нам в подключении; или неверный пароль; или не найден файл с текстом письма")
                Case $result = 1
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Не могу открыть SMTP сокет. Проверьте подключение к Интернету; либо неверные аргументы")
                Case $result <> 0
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Неизвестная ошибка")
            EndSelect
    Until $result = 0
    MsgBox(16, "нет ошибки.", "Письмо отправлено :-)" & @CRLF)
    DllClose ($BlatDLL)
EndFunc
 

$BlatArgs=-t [email protected] [nofollow] -f [email protected] [nofollow] -s testing -body Òåñò -server smtp.jino.ru -u [email protected] [nofollow] -pw password -attach C:\log\1.png -log c:\log\blatlog.txt

Так не работает
Код: AutoIt [Выделить]

$SmtpServer = "smtp.server.ru"            ; адрес SMTP сервера
$FromName = "Name"               ; имя отправителя
$FromAddress = "[email protected].ru" ; адрес отправителя
$ToAddress = "[email protected]"      ; адрес назначения
$Subject = "testing"              ; тема письма
$Body = "Тест"            ; тело письма (сам текст письма)
$AttachFiles = FileOpenDialog("", @UserProfileDir&"\Documents\", "all(*.*)"); прикреплённые файлы к письму
$Username = ""            ; имя пользователя аккаунта, с которого отправляется
$Password = ""                     ; пароль аккаунта, с которого отправляется
    $BlatArgs = String"-t "&$ToAddress&" -f "&$FromAddress&" -s "&$Subject&" -body "&$Body&" -server "&$SmtpServer&" -u "&$Username&" -pw "&$Password&" -attach "&$AttachFiles&" -log c:\log\blatlog.txt"

_SendMail($BlatArgs)





Func _SendMail($CMDstring)
    $BlatDLL = DllOpen ("blat.dll")
    Do
        $res=DllCall($BlatDLL,"int","Send","str",$CMDstring)
    $result=$res[0]
            Select
                Case $result = 13
                    MsgBox(16,"Ошибка. Код ошибки " & $result, "Не могу открыть временный файл во временной папке")

                Case $result = 12
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Не указаны или не найдены в реестре аргументы -server или -f")

                Case $result = 3
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Не могу прочитать файл с текстом письма или приложенный файл")

                Case $result = 2
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Почтовому серверу не понравился адрес отправителя; или он отказал нам в подключении; или неверный пароль; или не найден файл с текстом письма")
                Case $result = 1
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Не могу открыть SMTP сокет. Проверьте подключение к Интернету; либо неверные аргументы")
                Case $result <> 0
                    MsgBox(16, "Ошибка. Код ошибки " & $result, "Неизвестная ошибка")
            EndSelect
    Until $result = 0
    MsgBox(16, "нет ошибки.", "Письмо отправлено :-)" & @CRLF)
    DllClose ($BlatDLL)
EndFunc
 

$BlatArgs=-t [email protected] [nofollow] -f [email protected] [nofollow] -s testing -body Òåñò -server smtp.jino.ru -u [email protected] [nofollow] -pw password -attach C:\log\1.png -log c:\log\blatlog.txt

В $BlatArgs ничего не меняется при этом :( Не вижу почему не должно работать :(

Русское сообщество AutoIt

Странное поведение blat.dll
« Отправлен: Январь 24, 2016, 18:04:47 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Странное поведение blat.dll
« Ответ #1, Отправлен: Январь 25, 2016, 00:27:17 »
tarhitay
А при чём тут раздел "Баг-репорты и запросы на новые функции"?
Переношу...


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1366
  • Репутация: 171
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Странное поведение blat.dll
« Ответ #2, Отправлен: Январь 25, 2016, 09:52:27 »
OffTopictarhitay,
А может быть вам лучше подойдёт вариант отправки почты через объект CDO.Message ? Он нормально работает.

Оффлайн tarhitay [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Странное поведение blat.dll
« Ответ #3, Отправлен: Январь 25, 2016, 11:19:37 »
Решил проблему использованием blat.exe и Run()

Русское сообщество AutoIt

Re: Странное поведение blat.dll
« Ответ #3 Отправлен: Январь 25, 2016, 11:19:37 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
3134 Просмотров
Последний ответ Июль 03, 2011, 19:34:54
от Garrett
0 Ответов
1895 Просмотров
Последний ответ Февраль 10, 2012, 20:47:14
от white[43]
3 Ответов
3000 Просмотров
Последний ответ Ноябрь 26, 2012, 13:34:36
от joiner
29 Ответов
6991 Просмотров
Последний ответ Октябрь 10, 2013, 01:59:00
от Zalman1980
2 Ответов
1293 Просмотров
Последний ответ Ноябрь 26, 2013, 06:18:41
от madmasles
0 Ответов
1497 Просмотров
Последний ответ Январь 14, 2014, 05:53:09
от Zalman1980
5 Ответов
1142 Просмотров
Последний ответ Март 21, 2015, 17:07:11
от mikzin
0 Ответов
3662 Просмотров
Последний ответ Январь 25, 2016, 00:28:00
от CreatoR
4 Ответов
1091 Просмотров
Последний ответ Февраль 26, 2016, 14:16:55
от weweWe45s
0 Ответов
155 Просмотров
Последний ответ Сентябрь 16, 2017, 21:37:52
от mitiya