Indy: TidMessage удаляет все акценты, как это отключить? - PullRequest
2 голосов
/ 22 ноября 2010

Я отправляю электронные письма, используя компоненты indy TidSMTP и TidMessage.

Письма, которые я получаю, без акцентов.

Если я делаю, например,

MyTIdMessage.Body.Text := 'Tèst';

Когда я получаю электронное письмо, вместо "Tèst" я вижу "Test"

Есть ли способ сказать TIdMessage не игнорировать акценты или это ошибка?

Примечание: я использую Indy 10.5.8.0

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

Обязательно установите правильные Enconding, ContentTransferEncoding и CharSet. Будучи одним из старейших протоколов, почта предназначена для использования компьютерами, использующими только 7 бит, и поэтому необходимо кодировать символы, не входящие в US-ASCII. Есть несколько разных способов (цитируемый для печати, ecc.)

Также проверьте событие OnInitializeISO.

1 голос
/ 22 ноября 2010

Убедитесь, что вы установили правильный CharSet, выполнив это

MyIdMessage.CharSet := 'US-ASCII';

значения строк перечислены в массиве IdCharsetNames.

...