Domanda

io mando messaggi di posta elettronica utilizzando i componenti Indy TidSMTP e TidMessage.

Le mail che ricevo sono senza accenti.

Se lo faccio, per esempio:

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

Come ricevo l'e-mail che vedo "Test" al posto di "TEST"

C'è un modo per dire TIdMessage non ignorare gli accenti o si tratta di bug?

Nota: io sto usando Indy 10.5.8.0

È stato utile?

Soluzione

Assicurarsi di impostare il circuito di codifica corretta, ContentTransferEncoding e CharSet. Essendo uno dei più antichi del protocollo, la posta è stato progettato per essere utilizzato dai computer utilizzando solo 7 bit, e caratteri non US-ASCII deve quindi essere codificato. Ci sono alcuni modi diversi (quoted-printable, ecc.)

Anche controllare l'evento OnInitializeISO.

Altri suggerimenti

Assicurati di aver impostato il corretto CharSet in questo modo

MyIdMessage.CharSet := 'US-ASCII';

i valori stringa sono elencati nella matrice IdCharsetNames.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top