version 11.2 (Modifiée)
SMTP_SetPrefs (retoursLigne; typeCorps; longueurLigne) Entier
Paramètre | Type | Description | |
retoursLigne | Entier | 1 = [défaut] Ajouter, 0 = Ne pas ajouter, -1 = Aucune | |
modification | |||
typeCorps | Entier | Body-Content-Type (1 = [défaut] Détection | |
auto, -1 = Aucune modification) | |||
longueurLigne | Entier long | Longueur de ligne maximale (0 = [défaut] Détection | |
auto, -1 = Aucune modification) | |||
Résultat | Entier | Code d'erreur |
Description
La commande SMTP_SetPrefs définit les préférences des messages SMTP à envoyer. Elle a une portée globale et interprocess : elle agit sur tous les messages ultérieurs créés avec des commandes SMTP et ce, dans tous les process 4D. Les options paramétrables s'appliquent au message lors de son envoi au serveur SMTP à l'aide des commandes SMTP_QuickSend ou SMTP_Send.
A la différence des applications Macintosh qui considèrent un retour chariot seul comme étant un marqueur de fin de ligne ou de paragraphe, les serveurs SMTP requièrent la combinaison de caractères retour chariot/retour à la ligne (CR/LF) pour indiquer la fin d'une ligne.
Le paramètre retoursLigne spécifie comment gérer les retours chariot dans le corps d'un message :
Si vous passez 0 (zéro), le texte du corps du message est inchangé, ce qui vous permet de gérer vos propres ajouts de retours à la ligne.
Si vous passez 1 (paramètre par défaut), toutes les combinaisons retour chariot/retour ligne seront automatiquement remplacées par des retours chariot seuls.
Si vous passez -1, la valeur courante du paramètre est inchangée.
En cas de doute, choisissez 1, la valeur par défaut.
Le paramètre typeCorps permet d' indiquer le jeu de caractères utilisé dans le corps du message à envoyer (Body-Content-Type) et le type d'encodage à effectuer sur le corps du message (Content-Transfer-Encoding), conformément aux valeurs fournies dans le tableau ci-dessous. Si, par exemple, vous passez 2 ("US-ASCII & 7 bits") dans typeCorps, vous indiquez que le jeu de caractères utilisé est de l'ASCII US (utilisation des 128 premiers caractères de la table ASCII exclusivement), et 4D IC encodera le message sur 7 bits. A noter que la commande SMTP_SetPrefs n'effectue pas de conversion dans le jeu de caractères spécifié, c'est à l'utilisateur de s'assurer de la conformité du jeu de caractères. Si vous souhaitez convertir le jeu de caractères utilisé dans un message, vous devez appeler explicitement la commande SMTP_CharSet.
Par défaut, ce paramètre a pour valeur 1, les commandes SMTP détectent automatiquement les paramètres appropriés en fonction du contenu du corps du message.
-1 | Aucune modification |
0 | Application & binaire ; pas d'encodage |
1 | Valeur par défaut ; sélection de "US-ASCII & 7 bits" ou "ISO-8859-1 & quotable-printable" en |
fonction du contenu du message. | |
2 | US-ASCII & 7 bits |
3 | US-ASCII & quotable-printable |
4 | US-ASCII & base64 |
5 | ISO-8859-1 & quotable-printable |
6 | ISO-8859-1 & base64 |
7 | ISO-8859-1 & 8 bits |
8 | ISO-8859-1 & binaire |
9 | Réservé |
10 | ISO-2022-JP (support du japonais) & 7 bits |
11 | ISO-2022-KR (support du coréen) & 7 bits |
12 | ISO-2022-CN (support du chinois traditionnel et simplifié) & 7 bits |
13 | HZ-GB-2312 (support du chinois simplifié) & 7 bits |
14 | Shift-JIS (support du japonais) & base64 |
15 | UTF-8 & quoted-printable |
16 | UTF-8 & base64 |
Le paramètre longueurLigne spécifie la longueur maximale de ligne dans le corps du message. Les commandes SMTP "forcent" le passage à la ligne dans le corps du texte en insérant un retour chariot/retour ligne après le mot le plus proche de la longueur de ligne maximale. Tout nombre peut être spécifié, mais il est préférable que les lignes ne dépassent pas 80 caractères. Passez -1 pour laisser inchangée la valeur courante.
Par défaut, longueurLigne prend la valeur 0 (zéro). Dans ce cas, les commandes SMTP utilisent les valeurs recommandées par les RFC, en fonction du typeCorps. Les passages à la ligne sont alors insérés selon le tableau suivant :
Type de corps | Passage à la ligne à |
Base64 | 76 |
Quoted-printable | 76 |
Autres | pas de passage à la ligne |
Le traitement du passage à la ligne est fortement recommandé car de nombreux systèmes et programmes de messagerie ne peuvent gérer les messages contenant des lignes de longueur illimitée. En outre, un courrier passe par de nombreux systèmes avant d'atteindre sa destination finale et un ordinateur situé sur le trajet peut rejeter un message s'il est incapable d'en interpréter le format.
Exemple
Le code suivant envoie un message en UTF-8 encodé en quotedprintable :
$err:=SMTP_SetPrefs(-1;15;-1) $err:=SMTP_QuickSend(...)
Référence