Indy: Tidmessage удаляет все акценты, как это отключить это?
Вопрос
Я посылаю электронные письма, используя компоненты Indy TidSMTP
а также TidMessage
.
Письма, которые я получаю без акцентов.
Если я сделаю, например:
MyTIdMessage.Body.Text := 'Tèst';
Как я получаю электронную почту, я вижу «тест» вместо «Tèst»
Есть ли способ сказать Tidmessage не игнорировать акценты или это ошибка?
Примечание: я использую Indy 10,5,8,0
Решение
Обязательно установите правильное обременение, contenttransferencoding и charset. Будучи одним из старейших протоколов, Mail предназначен для использования компьютерами, использующими только 7 бит, а символы, не являющиеся US-ASCII, тем самым должны быть закодированы. Есть несколько разных способов (цитируемые печатные, ECC.)
Также проверьте событие OnInitializeIso.
Другие советы
Убедитесь, что вы установили правильный характер, делая это
MyIdMessage.CharSet := 'US-ASCII';
Значения строки перечислены в массиве idcharsetnames.