Indy: TidMessage elimina todos los acentos, Cómo desactivar esto?
Pregunta
Estoy enviando mensajes de correo electrónico utilizando el TidSMTP
componentes y TidMessage
Indy.
Los correos que recibo son sin acentos.
Si lo hago, por ejemplo:
MyTIdMessage.Body.Text := 'Tèst';
A medida que recibo el e-mail que veo "Prueba" en lugar de "prueba"
¿Hay una manera de contar TIdMessage no ignorar acentos o es este error?
Nota: Estoy usando Indy 10.5.8.0
Solución
Asegúrese de ajustar la Enconding correcta, ContentTransferEncoding y CharSet. Siendo uno de los protocolos más antiguo, el correo está diseñado para ser utilizado por los ordenadores utilizando sólo 7 bits, y los caracteres no US-ASCII de esta manera necesita ser codificado. Hay algunas maneras diferentes (citado imprimible, ecc.)
También puedes ver el evento OnInitializeISO.
Otros consejos
Asegúrese de configurar el juego de caracteres correcto al hacer esto
MyIdMessage.CharSet := 'US-ASCII';
los valores de cadena se enumeran en la matriz IdCharsetNames.