Кодировка в письме

Аватара пользователя
gkivi

Кодировка в письме

Сообщение gkivi »

Здравствуйте.

есть код:





Код:

Код: Выделить всё

SmtpServer = "smtp.123.ru"    ; адрес SMTP сервера
$Port = "25"                  ; Порт SMTP сервера
$FromAddress = "123l@123.ru"   ; адрес отправителя
$ToAddress = "123@123.ru"     ; адрес назначения
$Subject = """текст"""    ; тема письма
$Body = """Текст"""    ; тело письма (сам текст письма)
$AttachFiles = "temp.txt"    ; прикреплённые файлы к письму
$Username = "123@123.ru"      ; имя пользователя аккаунта, с которого отправляется
$Password = "123"               ; Пароль
$BlatArgs = "-t "&$ToAddress&" -f "&$FromAddress&" -s "&$Subject&" -body "&$Body&" -server "&$SmtpServer&" -u "&$Username&" -pw "&$Password&" -attach "&$AttachFiles&" -portSMTP "&$Port
_SendMail($BlatArgs)
Func _SendMail($CMDstring)
    $BlatDLL = DllOpen ("blat.dll")
    $result=DllCall($BlatDLL,"int","Send","str",$CMDstring)
    DllClose ($BlatDLL)
EndFunc

Письмо всё прекрасно ходит с вложением но вот кодировка: ┬═╚╠└═╚┼ яЁшт√ёшыр

Как изменить на читабельную?

Спасибо.
Аватара пользователя
yurfed

Re: Кодировка в письме

Сообщение yurfed »

gkivi, очень похоже на DOS кодировку 866

А чем смотрите?
Аватара пользователя
oz84

Re: Кодировка в письме

Сообщение oz84 »

support23, можно чуть подробнее - зачем schemas.microsoft.com?

Если не вызывать функцию blat.dll, а запускать blat.exe, то письмо уходит в UTF-8 - нет проблем ни с темой, ни с телом письма.

Как вариант попробовать заменить в функции _SendMail



Код:

Код: Выделить всё

$result=DllCall($BlatDLL,"int","Send","str",$CMDstring)

на



Код:

Код: Выделить всё

$result=DllCall($BlatDLL,"int","Send","wstr",$CMDstring)

Планировал делать GUI и вопрос о кодировке (клиент консольный все-таки) отложил, а тут такая удача Изображение
Аватара пользователя
yurfed

Re: Кодировка в письме

Сообщение yurfed »

Смотрю в Microsoft Outlook 2007, но не думаю что это он пакостит. Скрипт видимо с помощью blat сформировал письмо в заведомо неверной кодировке. Что тема письма что сам текст с абракадаброй. файл с вложением отображается нормально.
Аватара пользователя
yurfed

Re: Кодировка в письме

Сообщение yurfed »

gkivi, скопируйте текст письма и вставьте в редактор
Bred 3
.

По крайней мере сможете прочитать письмо.
Аватара пользователя
yurfed

Re: Кодировка в письме

Сообщение yurfed »

Цитата gkivi:



Смотрю в Microsoft Outlook 2007, но не думаю что это он пакостит.
Кодировка в письме




Но всё же, попробуйте например
Mozilla Thunderbird Portable Edition
Аватара пользователя
yurfed

Re: Кодировка в письме

Сообщение yurfed »

Хорошо, изложу проблему по другому.

Этот скрипт создает письмо с вложением используя blat. Тема и содержание письма при приходе на почту в абракадабре. С вложением никаких проблем.

Вывод: значит blat создаёт в не в той кодировке письмо?
Аватара пользователя
gkivi

Re: Кодировка в письме

Сообщение gkivi »

Хорошо, изложу проблему по другому.

Этот скрипт создает письмо с вложением используя blat. Тема и содержание письма при приходе на почту в абракадабре. С вложением никаких проблем.

Вывод: значит blat создаёт в не в той кодировке письмо?
Аватара пользователя
gkivi

Re: Кодировка в письме

Сообщение gkivi »

gkivi

blat имеет среди ключей -unicode, нагуглил
такую тему
. Если будете пробовать, не забудьте отписаться, пожалуйста Изображение
Аватара пользователя
oz84

Re: Кодировка в письме

Сообщение oz84 »

gkivi, отправляйте строкой

Run (@scriptdir & "\blat.exe " & $BlatArgs, @ScriptDir, @SW_HIDE )

На всякий случай к $BlatArgs можно в конце добавить -charset UTF-8, но у меня и так отправляет. С blat.dll не прокатывает.



З.Ы. Blat версии 3.1.1, Microsoft Outlook не люблю, пользуюсь Sylpheed.
Ответить

Вернуться в «AutoIt»