version 6.5
SMTP_AddHeader (smtp_ID; nomEnTête; texteEnTête{; supprimerOption}) Entier
Paramètre | Type | Description | |
smtp_ID | Entier long | Référence de message | |
nomEnTête | Alpha | Nom de l'en-tête | |
texteEnTête | Texte | Texte de l'en-tête | |
supprimerOption | Entier | 0 = Ajouter | |
1 = Remplacer tous les en-têtes par 'nomEnTête', | |||
2 = Supprimer tous les en-têtes nommés | |||
'nomEnTête' | |||
Résultat | Entier | Code d'erreur |
Description
La commande SMTP_AddHeader vous permet d'ajouter votre propre en-tête au message référencé par smtp_ID. Outre les en-têtes standard directement gérés par les commandes Internet de 4D, il existe deux catégories d'en-têtes supplémentaires : les en-têtes "utilisateur" (User-defined) et les en-têtes "étendus" (Extended). La commande SMTP_AddHeader permet d'ajouter à la fois un nouvel en-tête et les données qu'il contient.
En-têtes "étendus" : Ces en-têtes ont été officiellement reconnus par le NIC et ont été définis après les spécifications SMTP initiales. Ces en-têtes ont généralement un rôle spécifique affectant le comportement de différents logiciels. Les en-têtes "étendus" ne commencent jamais par la lettre "X".
En-têtes "utilisateur" : Le protocole SMTP permet à quiconque de créer ses propres définitions d'en-tête. Tous les en-têtes définis par l'utilisateur doivent commencer par les caractères "X-" pour éviter tout conflit avec un futur en-tête "étendu". Les en-têtes "utilisateur" sont particulièrement utiles lorsque vous contrôlez les deux extrémités des communications.
Les en-têtes "utilisateur" permettent au développeur de stocker des données qui peuvent être facilement extraites au moyen de la commande MSG_FindHeader. Par exemple, vous pouvez créer un en-tête nommé "X-001001", qui contient la valeur du champ 01 de la table 01. Il est possible d'ajouter un nombre illimité d'en-têtes à un message. Les en-têtes "utilisateur" permettent d'insérer des informations plus faciles à extraire que celles nécessitant l'analyse du corps du message.
smtp_ID contient l'identifiant d'un message électronique créé avec la commande SMTP_New.
Le paramètre nomEnTête contient le nom de l'en-tête à ajouter.
Le paramètre texteEnTête contient les informations à affecter à la zone d'en-tête identifiée par nomEnTête.
Attention : Le texte ne doit pas contenir de retours à la ligne (code ASCII=10). Un retour à la ligne désigne la fin de la section d'en-tête et le début du corps du texte. Les en-têtes suivants risquent alors d'être considérés comme le corps du texte et de ne pas être correctement reconnus par le logiciel du serveur ou du client. Pour plus d'informations sur les zones d'en-tête, veuillez consulter la RFC#822.
Le paramètre supprimerOption vous permet de préciser s'il faut ou non supprimer l'en-tête courant.
Si vous passez 0 (zéro), l'en-tête nomEnTête est ajouté au message.
Si vous passez 1, tous les en-têtes du message sont remplacés par l'en-tête nomEnTête. Dans ce cas, si nomEnTête contient une chaîne vide, tous les en-têtes du message sont supprimés.
Si vous passez 2, tous les en-têtes nomEnTête sont supprimés du message.
Exemple
Si vous souhaitez envoyer un mail en HTML, le corps du message doit contenir les balises HTML (ex : <HTML>, <HEAD>, etc.) et les en-têtes "Content-Type" doivent être remplacés par "text/html;charset=us-ascii" :
Si(Sous chaine($corps;1;6)="<HTML>") $err:=SMTP_AddHeader($SMTP_ID;"Content-Type:";"text/html;charset=us-ascii";1) Fin de si
Référence