SMTP_Charset

4D - Documentation   Français   English   German   Japanese   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant

version 6.8.1 (Modifiée)


SMTP_Charset (encoderEntêtes; jeuCorps) Entier

ParamètreTypeDescription
encoderEntêtesEntier-1 = Utiliser le paramétrage courant, 0 = Ne rien faire,
1 = Convertir dans le jeu de caractères spécifié si
ISO-8859-1 ou ISO-2022-JP, encoder les caractères
étendus
jeuCorpsEntier-1 = Utiliser le paramétrage courant, 0 = Ne rien faire,
1 = Convertir dans le jeu de caractères spécifié si
ISO-8859-1 ou ISO-2022-JP
RésultatEntierCode d'erreur

Description

La commande SMTP_Charset automatise le support des caractères étendus dans les messages lors de leur envoi. Si cette commande n'est pas appelée ou si ses deux paramètres sont mis à 0, les commandes Internet de 4D version 6.7 ou supérieure fonctionneront de la même manière qu'en version 6.5.x.

La commande SMTP_Charset permet, d'une part, d'indiquer si le jeu de caractères défini dans le paramètre typeCorps de la commande SMTP_Prefs doit être appliqué aux en-têtes et au corps des messages à envoyer ; d'autre part, elle permet de définir si un en-tête comportant des caractères étendus doit être encodé sous la forme "=?ISO-8859-1?Q?Test=E9?= …", conformément au RFC 1342.

Cette commande a une portée globale et interprocess : elle agit sur tous les messages ultérieurs envoyés à l'aide des commandes SMTP_QuickSend et SMTP_Send et ce, dans tous les process 4D.

La commande SMTP_Charset est particulièrement utile pour le traitement des caractères étendus dans les en-têtes "Subject" ou les noms insérés dans les adresses (par exemple, pour l'encodage d'adresses sous la forme "=?ISO-8859-1?Q?Test=E9?= <test@n.net>").

En fonction des champs d'en-tête, l'encodage (toujours en base 64 — à l'exception de l'en-tête "Subject" — et dans le jeu de caractères fixé par SMTP_SetPrefs) est effectué de la manière suivante :

Pour les en-têtes "Subject" et "Comments" (en-têtes appelés "non structurés") : toute la chaîne est encodée si elle comporte des caractères étendus ;

Pour les en-têtes "From", "To", "Cc", "Bcc", "Sender", "ReplyTo", "InReplyTo" (en-têtes appelés "structurés") :

- Ce qui est entre < > est systématiquement considéré comme une adresse eMail et n'est
jamais encodé ;
- Les caractères séparateurs tels que SPC < > ( ) @ , ; : \ " / ? . = ne sont jamais encodés ;
- Ce qui se trouve entre deux séparateurs est encodé s'il y a des caractères étendus.

Exemples d'adresses :

- someone@somewhere n'est pas encodé ;
- Michèle <michele@somewhere>, seul le mot Michèle est encodé.

Le paramètre encoderEntêtes définit les traitements à appliquer aux champs d'en-tête lors de l'envoi des messages. Par défaut, ce paramètre a pour valeur 0.

-1 : Utiliser les paramètrages courants ;

0 : Ne rien faire

1 :- D'une part, si la commande SMTP_SetPrefs définit le jeu de caractères comme étant de
l'ISO-8859-1 ou de l'ISO-2022-JP, l'en-tête est converti dans le jeu de caractères spécifié,
- D'autre part, les champs d'en-tête sont encodés sous la forme "=?Jeu de caractères
spécifié par SMTP_SetPrefs?Encodage Base64 systématiquement?Test=E9?=…" (RFC 1342)
s'ils contiennent des caractères étendus et ce, quel que soit le jeu de caractères spécifié.
- Exception : l'en-tête "Subject" est encodé dans le mode défini par le paramètre typeCorps
de la commande SMTP_SetPrefs si nécessaire.

Note : Les en-têtes de type X_Mailer doivent être en ASCII US.

Le paramètre jeuCorps définit les traitements à appliquer au corps du message lors de son envoi. Par défaut, ce paramètre a pour valeur 0.

-1 : Utiliser les paramètrages courants ;

0 : Ne rien faire ;

1 : Si la commande SMTP_SetPrefs définit le jeu de caractères comme étant de l' ISO-8859-1 ou de l'ISO-2022-JP, le texte du corps du message est converti dans le jeu de caractères spécifié.

Exemple

Exemple de traitement des caractères étendus :

   SMTP_SetPrefs(1;1;0)
   $err:=SMTP_Charset(1;1)
   $err:=SMTP_QuickSend("monmail.com";"monadresse";"destination";"L'euro €";"Le symbole de l'Euro est €")
      `Le sujet et le corps du message sont convertis en ISO-8859-1,
      `Le sujet est encodé conformément au RFC 1342

Référence

POP3_Charset, SMTP_SetPrefs.


4D - Documentation   Français   English   German   Japanese   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant