Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20
SMTP_SetPrefs
|
SMTP_SetPrefs ( retoursLigne ; charset&Encodage ; longueurLigne ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
retoursLigne | Entier |
![]() |
1 = [défaut] Ajouter, 0 = Ne pas ajouter, -1 = Aucune modification | |||||
charset&Encodage | Entier long |
![]() |
Jeu de caractères du corps, en-têtes, noms des fichiers joints et encodage du corps (-1 = pas de changement) | |||||
longueurLigne | Entier long |
![]() |
Longueur de ligne maximale (0 = [défaut] Détection auto, -1 = Aucune modification) | |||||
Résultat | Entier |
![]() |
Code d'erreur | |||||
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 Mac 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 :
Le paramètre charset&Encodage permet d’indiquer le jeu de caractères utilisé dans le corps du message à envoyer, les en-têtes et les noms des fichiers joints. Il définit également le type d’encodage à effectuer sur le corps du message, conformément aux valeurs fournies dans le tableau ci-dessous. Si, par exemple, vous passez 2 ("US-ASCII & 7 bits"), 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 Internet Commands 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.
Valeur | Jeu de caractères et encodage du corps | Jeu de caractères des en-têtes et noms de fichiers (encodage base64) |
-1 | Pas de changement | Pas de changement |
0 | Application & binary; pas d'encodage | ISO-8859-1 |
1 | Défaut : UTF-8 & base64 | Défaut : UTF-8 pour objet, ISO-8859-1 pour les autres champs |
2 | US-ASCII & 7bit | ISO-8859-1 |
3 | US-ASCII & quotable-printable | ISO-8859-1 |
4 | US-ASCII & base64 | ISO-8859-1 |
5 | ISO-8859-1 & quotable-printable | ISO-8859-1 |
6 | ISO-8859-1 & base64 | ISO-8859-1 |
7 | ISO-8859-1 & 8bit | ISO-8859-1 |
8 | ISO-8859-1 & binary | ISO-8859-1 |
9 | Réservé | Réservé |
10 | ISO-2022-JP (Japonais) & 7 bit | ISO-2022-JP |
11 | ISO-2022-KR (Coréen) & 7 bit | ISO-2022-KR |
12 | ISO-2022-CN (Chinois traditionnel et simplifié) & 7 bit | ISO-2022-CN |
13 | HZ-GB-2312 (Chinois simplifié) & 7 bit | HZ-GB-2312 |
14 | Shift-JIS (Japonais) & base64 | Shift-JIS |
15 | UTF-8 & quoted-printable | UTF-8 |
16 | UTF-8 & base64 | UTF-8 |
Note : Nous recommandons d'utiliser les paramétrages par défaut, qui sont adaptés à la plupart des systèmes/applications.
Attention: Le symbole "euro" (€) n'est pas disponible en ISO-8859-1.
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 avant la longueur de ligne maximale lorsque le texte est encodé. Tout nombre peut être spécifié, mais la RFC 2822 indique que la longueur de ligne ne doit pas dépasser 998 et recommande un maximum de 78. 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 jeu&encodage. 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.
Le code suivant envoie un message en UTF-8 encodé en quotable-printable (les en-têtes restent dans leur jeu de caractères par défaut) :
$err:=SMTP_SetPrefs(-1;15;-1)
$err:=SMTP_Charset(0;1) //appliquer les préférences
$err:=SMTP_QuickSend("monmail.com";"monadresse";"destination";"L'euro €";"Le symbole de l'Euro est €")
Produit : 4D
Thème : IC Send Mail (obsolète)
Numéro :
88994
Modifié : 4D Internet Commands v11.2
Modifié : 4D v16
4D Internet Commands ( 4D v20)