4D Internet Commands v16

SMTP_Charset

Accueil

 
4D Internet Commands v16
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 = Utiliser la valeur par défaut, 1 = Convertir dans le jeu de caractères spécifié
jeuCorps  Entier in -1 = Utiliser le paramétrage courant, 0 = Utiliser la valeur par défaut, 1 = Convertir dans le jeu de caractères spécifié
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 par la commande SMTP_QuickSend ou SMTP_Send.

La commande SMTP_Charset permet, d’une part, d’indiquer si le jeu de caractères défini dans le paramètre charset&Encodage de la commande SMTP_SetPrefs doit être appliqué aux en-têtes, nom de fichiers joints et corps des messages à envoyer ; d’autre part, elle permet de définir si un en-tête (ou nom de fichier joint) 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>”).

Les en-têtes des messages et les noms des fichiers joints seront encodés de la manière suivante, d'après la RFC 1342 :

  • Pour les en-têtes "Subject", "Comments" et les noms des fichiers joints : toute la chaîne est encodée en base64 si elle comporte des caractères étendus ;
  • Pour les en-têtes "From", "To", "Cc", "Bcc", "Sender", "ReplyTo", "InReplyTo" :
    • 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é en base 64 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é.
  • Les autres en-têtes ne sont pas encodés.

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 : Valeur par défaut : jeu de caractères UTF-8 pour "Subject", ISO-8859-1 pour les autres champs ;
  • 1 : Le jeu de caractères pour les en-têtes et les noms des fichiers joints est défini par le paramètre charset&Encodage de la commande SMTP_SetPrefs.

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 : Valeur par défaut : jeu de caractères UTF-8 base64
  • 1 : Utiliser jeu de caractères et encodage définis par le paramètre charset&Encodage de la commande SMTP_SetPrefs.

Note : Nous recommandons d'utiliser les paramétrages par défaut, adaptés à la plupart des systèmes/applications.

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 UTF-8,
  //Le sujet est encodé conformément au RFC 1342



Voir aussi  

POP3_Charset
SMTP_SetPrefs

 
PROPRIÉTÉS 

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

 
HISTORIQUE 

Modifié : 4D Internet Commands 6.8.1
Modifié : 4D v16

 
UTILISATION DE L'ARTICLE

4D Internet Commands ( 4D Internet Commands v16)