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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top