![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кодировка письма [D7, XP]
Санек © (2013-08-06 11:20:00)Привет, мастера!!!
Отправляю письмо
вот код
IdSMTP1.Host:= 'smtp.mail.ru' ;
IdSMTP1.AuthenticationType:= atLogin;
IdSMTP1.Username:= 'email@mail.ru';
IdSMTP1.Password:= 'pass';
Msg.Subject:= 'Greeting';
Msg.Recipients.EMailAddresses:= 'email@mail.ru';
Msg.From.Address:= 'email@mail.ru';
Msg.Body.Text:= '' ;
Msg.From.Name:= 'Имя русскими буквами';
Msg.CharSet:='Windows-1251';
TIdAttachment.Create(Msg.MessageParts, 'имя файла с русскими буквами');
IdSMTP1.connect;
IdSMTP1.Send(Msg);
IdSMTP1.Disconnect;
Пробывал UTF-8 и koi и все равно приходят абра-кадабра.
Подскажите как исправить это.
DVM (2013-08-06 16:00:00) [1]
> TIdAttachment.Create(Msg.MessageParts,utf8encode('имя файла
> с русскими буквами'));
По-моему, так не надо делать. TIdAttachment.Create() принимает в конструкторе string, а не UTF8String и это его задача вообще говоря закодировать в заголовке MIME название файла в соответствии с выбранной для заголовков кодировкой.
DVM (2013-08-06 15:59:00) [2]http://delphimaster.ru/cgi-bin/forum.pl?id=1375188734&n=4
stas (2013-08-06 14:59:00) [3]туда строку передавать надо
utf8encode(Msg.Body.Text)
TIdAttachment.Create(Msg.MessageParts,utf8encode('имя файла с русскими буквами'));
санек (2013-08-06 14:53:00) [4]
> IdSMTP1.Send(Utf8Encode(Msg));
а так вообще не компелируется
ругается на типы данных
stas (2013-08-06 14:47:00) [5]А имя файла...
stas (2013-08-06 14:46:00) [6]Msg.CharSet:='UTF-8';
IdSMTP1.Send(Utf8Encode(Msg));
А так ?
санек (2013-08-06 14:45:00) [7]Пробывал
Msg.CharSet:='UTF-8';
С текстом все норм у меня получиловь а вот с именем файла не получается
stas (2013-08-06 14:42:00) [8]Как пробовали?