4D Internet Commands v14

SMTP_Charset

Accueil

 
4D Internet Commands v14
SMTP_Charset

SMTP_Charset 


 

SMTP_Charset ( encoderEntêtes ; jeuCorps ) -> Résultat 
Paramètre Type   Description
encoderEntêtes  Entier in -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
jeuCorps  Entier in -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ésultat  Entier in Code d'erreur

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_SetPrefs 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

 
PROPRIÉTÉS 

Produit : 4D Internet Commands
Thème : IC Send Mail
Numéro : 88892
Nom intl. : SMTP_Charset

 
HISTORIQUE 

Modifié : 4D Internet Commands 6.8.1

 
VOIR AUSSI  

POP3_Charset
SMTP_SetPrefs

 
UTILISATION DE L'ARTICLE

4D Internet Commands ( 4D Internet Commands v11.4)
4D Internet Commands ( 4D v13.2)
4D Internet Commands ( 4D Internet Commands v12.1)
4D Internet Commands ( 4D Internet Commands v14 R2)
4D Internet Commands ( 4D Internet Commands v14)
4D Internet Commands ( 4D Internet Commands v14 R3)
4D Internet Commands ( 4D Internet Commands v14 R4)